JavaScript国际化核心是分离语言内容与逻辑代码并动态加载翻译资源,用JSON管理多语言文案、Intl API处理格式化、运行时切换并持久化用户偏好。

JavaScript 实现国际化(i18n)的核心是**分离语言内容与逻辑代码,按用户语言环境动态加载对应翻译资源**。不依赖后端时,前端可完全自主管理多语言切换;结合服务端还能实现更精准的区域化(如日期、货币格式)。关键不在“用什么库”,而在“怎么组织数据 + 怎么触发切换 + 怎么保持状态”。
用 JSON 管理翻译资源,结构清晰易维护
每种语言一个独立 JSON 文件,键名统一(推荐使用英文 key),值为对应语言的文案:
// locales/zh.json<br>
{ "welcome": "欢迎访问", "submit": "提交", "date_format": "YYYY年MM月DD日" }<br><br>
// locales/en.json<br>
{ "welcome": "Welcome", "submit": "Submit", "date_format": "YYYY-MM-DD" }
登录后复制
避免在 JS 里硬编码字符串,所有展示文本都通过 key 查找。建议按模块或页面分文件(如 common.json、profile.json),后期合并或按需加载更灵活。
用 Intl API 处理格式化,不用自己写逻辑
日期、数字、货币、排序等本地化格式,直接用浏览器原生 Intl 对象:
立即学习“Java免费学习笔记(深入)”;
-
new Intl.DateTimeFormat('zh-CN').format(new Date())→ "2024年6月12日" -
new Intl.NumberFormat('de-DE').format(1234567.89)→ "1.234.567,89" -
new Intl.ListFormat('ja', { style: 'long', type: 'conjunction' }).format(['A', 'B', 'C'])→ "A、B、およびC"
这些 API 自动识别系统语言,也支持手动传入 locale 字符串,和你的翻译资源联动即可。
标签: vue react javascript java js 前端 json cookie 编码 浏览器 工具 后端 多语言
还木有评论哦,快来抢沙发吧~