|      1pigspy      2022-08-03 16:14:00 +08:00 我一般用 i18next 这个框架 | 
|  |      2jetyang      2022-08-03 16:15:47 +08:00 标准的做法是后端根据用户的个人信息、UA 及 IP 综合判断 locale ,找到对应的本地文字、图标、时间,返回给前端渲染。搜索一下 ICU 库,但这样做比较麻烦,很多小网站在前端放一个下拉列表,让用户自己选 locale | 
|  |      3zhangjiancheng      2022-08-03 16:26:55 +08:00 我的做法是多个语言放在一个数组内,约定好语言顺序的下标,然后用 webpack 的 api 自动导入然后用$t()使用 | 
|  |      5fstar      2022-08-03 18:37:22 +08:00 建议做语言包懒加载。 https://blog.fstars.wang/posts/lazy-load-language-package-by-dynamic-script/ https://blog.fstars.wang/posts/i18n-lazy-import-lang-pkg/ https://blog.fstars.wang/posts/why-i18n-difficult/ | 
|  |      7catinsides      2022-08-03 23:21:10 +08:00  1 比如要做 label 的多语言,把 label 的内容换成常量,比如 LABEL_TEST ,多语言 json 文件中再写要替换的内容 cn 是 测试,en 是 Test ,ja 是 テスト... html 里就是{{ $t('LABEL_TEST') }},再进一步优化就是根据 ua 只加载某一个多语言的 json ,是这意思不? | 
|      8JounQin      2022-08-04 08:23:44 +08:00 via iPhone | 
|      9james504      2022-08-04 09:41:19 +08:00 看成了 18cm 的一点疑问 啊 天啦我太可怕了~~~ | 
|  |      10Envov      2022-08-04 15:04:26 +08:00 i18next 的方案很好 https://github.com/i18next/i18next-scanner 扫描源代码中的字符,创建唯一 id ,统一翻译,可以做到懒加载词条,或者把翻译的活扔给产品 |