前端国际化:让你的网站走向世界

前端国际化:让你的网站走向世界

毒舌时刻

前端国际化?这不是大公司才需要的吗?

"我的网站只面向国内用户,要什么国际化?"——结果业务拓展到海外,临时抱佛脚,
"我直接用中文写死,多简单!"——结果需要支持英文时,满世界找字符串,
"我用Google翻译,多快!"——结果翻译质量差,用户体验差。

醒醒吧,国际化不是可选的,而是现代前端开发的标配!

为什么你需要这个?

  • 全球用户覆盖:吸引来自不同国家和地区的用户
  • 业务拓展:为未来的海外业务做准备
  • 用户体验:让用户使用自己熟悉的语言
  • 品牌形象:展现专业、全球化的品牌形象

反面教材

// 反面教材:硬编码字符串 function Header() { return ( <div className="header"> <h1>欢迎来到我的网站</h1> <nav> <a href="/">首页</a> <a href="/about">关于我们</a> <a href="/contact">联系我们</a> </nav> </div> ); } // 反面教材:手动切换语言 function App() { const [language, setLanguage] = useState('zh'); const getText = (key) => { const texts = { zh: { welcome: '欢迎', about: '关于我们', contact: '联系我们' }, en: { welcome: 'Welcome', about: 'About Us', contact: 'Contact Us' } }; return texts[language][key]; }; return ( <div> <button onClick={() => setLanguage('zh')}>中文</button> <button onClick={() => setLanguage('en')}>English</button> <h1>{getText('welcome')}</h1> {/* 其他内容 */} </div> ); } 

正确的做法

// 正确的做法:使用专业的国际化库 // 安装依赖:npm install i18next react-i18next // i18n.js import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; import zh from './locales/zh.json'; import en from './locales/en.json'; // 配置i18next i18n .use(initReactI18next) .init({ resources: { zh: { translation: zh }, en: { translation: en } }, lng: 'zh', // 默认语言 fallbackLng: 'en', // 回退语言 interpolation: { escapeValue: false // React已经默认转义 } }); export default i18n; // locales/zh.json /* { "welcome": "欢迎来到我的网站", "nav": { "home": "首页", "about": "关于我们", "contact": "联系我们" }, "greeting": "你好,{{name}}!", "count": "你有 {{count}} 条消息" } */ // locales/en.json /* { "welcome": "Welcome to my website", "nav": { "home": "Home", "about": "About Us", "contact": "Contact Us" }, "greeting": "Hello, {{name}}!", "count": "You have {{count}} messages" } */ // 正确的做法:在组件中使用 import React from 'react'; import { useTranslation } from 'react-i18next'; function Header() { const { t } = useTranslation(); return ( <div className="header"> <h1>{t('welcome')}</h1> <nav> <a href="/">{t('nav.home')}</a> <a href="/about">{t('nav.about')}</a> <a href="/contact">{t('nav.contact')}</a> </nav> </div> ); } function Greeting({ name }) { const { t } = useTranslation(); return ( <div> {/* 带参数的翻译 */} <p>{t('greeting', { name })}</p> </div> ); } function MessageCount({ count }) { const { t } = useTranslation(); return ( <div> {/* 复数形式 */} <p>{t('count', { count })}</p> </div> ); } // 正确的做法:语言切换组件 import React from 'react'; import { useTranslation } from 'react-i18next'; function LanguageSwitcher() { const { i18n } = useTranslation(); const changeLanguage = (lng) => { i18n.changeLanguage(lng); }; return ( <div className="language-switcher"> <button onClick={() => changeLanguage('zh')}>中文</button> <button onClick={() => changeLanguage('en')}>English</button> </div> ); } 

毒舌点评

看看,这才叫前端国际化!不是简单地手动切换字符串,而是使用专业的国际化库,统一管理翻译资源。

记住,国际化不仅仅是翻译文本,还包括日期、时间、数字、货币等格式的本地化,以及RTL(从右到左)语言的支持。

所以,别再觉得国际化麻烦了,它是你网站走向世界的必备技能!

总结

  • 使用专业库:如i18next、react-intl等
  • 统一管理翻译资源:将翻译文本放在单独的JSON文件中
  • 支持参数化翻译:处理带变量的文本
  • 支持复数形式:根据数量变化显示不同的文本
  • 自动检测语言:根据用户浏览器设置自动切换语言
  • 本地化格式:处理日期、时间、数字等的本地化
  • RTL支持:支持从右到左的语言如阿拉伯语
  • 懒加载翻译:按需加载翻译资源,减少包大小

国际化,让你的网站更具全球视野!

Read more

Claude Code本地化部署教程:零成本打造最强内网AI开发助手

Claude Code本地化部署教程:零成本打造最强内网AI开发助手

文章介绍了如何通过Ollama将Claude Code接入本地开源模型,实现不联网、不花钱、代码不出本地的开发环境。提供了详细配置教程,包括安装客户端、设置环境变量和启动本地模型。这种方式确保数据安全,无需订阅费用,可自由切换Qwen3、GLM等模型,为开发者提供了完全离线的AI辅助开发体验。 如果你是一个开发者,一定被Claude Code的能力震惊了。简单来说,它不仅仅是一个聊天框,而是一个能直接住在你的工作空间内的数字员工,能读懂你的源码、系统功能修BUG、写报告,互联网检索等,在授权的情况下,还能运行终端命令。 但是很多人担心隐私泄露,或者不想一直给Claude交昂贵的订阅费。今天,救星来了!通过Ollama可以把 Claude Code 这个“神级躯壳”接入本地运行的开源模型(如 Qwen3、GLM)。不联网、不花钱、代码不出本地,可谓是最强内网开发套装! 为什么又要本地跑Claude Code? * 数据安全:公司代码资产,怎么敢随便传输到云端?本地运行,物理隔离最安心。 * 告别订阅:

AMD显卡用户专属:零门槛部署本地AI大模型完全指南

AMD显卡用户专属:零门槛部署本地AI大模型完全指南 【免费下载链接】ollama-for-amdGet up and running with Llama 3, Mistral, Gemma, and other large language models.by adding more amd gpu support. 项目地址: https://gitcode.com/gh_mirrors/ol/ollama-for-amd 还在为无法在AMD GPU上运行本地AI大模型而烦恼吗?Ollama-for-amd项目正是为你量身打造的解决方案。这个开源项目专门增强了AMD GPU支持,让你轻松在本地部署Llama 3、Mistral、Gemma等主流大语言模型,充分释放AMD显卡的AI计算潜力。 问题一:我的AMD显卡真的能跑AI模型吗? 解决方案:确认硬件兼容性 首先需要了解你的AMD显卡是否在支持列表中。根据官方文档,以下系列显卡已通过充分测试: Linux系统兼容显卡 * Radeon

如何在Android Studio中使用Gemini进行AI Coding

如何在Android Studio中使用Gemini进行AI Coding

Android Studio 作为安卓APP开发领域长期以来的核心开发工具,其稳定性和功能性已得到广泛认可。而 Gemini 作为 Google 推出的原生 AI 编程辅助系统,则为开发者提供了智能化的协作支持。         在引入 Gemini 后,你不再需要频繁切换浏览器查文档、使用外部ai工具复制粘贴代码再回来调试 bug。它可以直接在 IDE 内理解你的项目结构、阅读你的代码上下文,生成函数、解释错误、甚至帮你优化逻辑或编写单元测试——这一切都发生在你熟悉的编辑器中,无缝衔接、无需离开代码界面。 Gemini in Android Studio官网链接         接下来我将介绍如何在在Android Studio中直接使用Gemini以及调用Gemini API。 一、如何在 Android Studio 中启用 Gemini 1. 更新到最新版本的 Android Studio Gemini 从 Android Studio Iguana(

从“写代码”到“说需求”:2026年AI辅助工具与大模型完全使用指南

从“写代码”到“说需求”:2026年AI辅助工具与大模型完全使用指南

一、写在前面:为什么你需要读这篇文章? 还记得几年前,我们写代码还在逐行敲键盘,遇到问题得去网上翻半天。 现在呢?AI能在几秒内生成整个函数,能帮你调试Bug,甚至能听懂你的口头描述直接写出代码。 2026年,AI辅助开发已经不再是“会不会用”的问题,而是“用得好不好”的问题。 但面对层出不穷的新工具——Cursor、Claude Code、OpenClaw,还有国内外一大堆大模型——很多人反而不知道怎么选了。 这篇文章是我花了整整一周时间,把这些工具全部上手试用后写的实战总结。 没有晦涩的技术黑话,全是白话文,保证你读完能知道: 这些工具到底是干什么的、怎么下载安装、实际用起来到底怎么样、哪个最适合你。 全文有点长,7000多字,建议先收藏。咱们按这个顺序聊: 1. AI编程工具三巨头:Cursor、Claude Code、OpenClaw 2. 国内外主流大模型:GPT、Gemini、Claude、DeepSeek、Kimi、