分享一下我所有项目都在用的工作流
1. 以源码作为唯一的 i18n 配置源
代码里所有的文案都是 localize('key','Default Message') 这种格式
key 没有专门规范,想到什么用什么
2. 使用脚本解析 ast ,自动生成默认的 en-US.json 和 (zh-CN.json ....)
"highlight.action.EditNote": {
"defaultMessage": "Edit Note",
"content": "Edit Note"
},
"highlight.action.EditNote": {
"defaultMessage": "Edit Note",
"content": ""
},
未翻译的为空白字符串。
3. 编写脚本,把所有未翻译的 json 都拆出来。 提交给 ai ,把所有 content :'' 为空的都翻译好
按照这个思路,在开发的时候完全不需要管翻译,只需要无脑写代码就行了。
在发布之前,跑一下脚本,就可以自动翻译好整个项目。
我写了一个 vscode 插件给自己用,感兴趣的可以下载
https://marketplace.visualstudio.com/items?itemName=hamsterbase.i18nease插件本书完全离线,自行配置 openai 的 key 就可以使用。
如果是希望参考脚本, 我之前给一个 10000 多 star 多项目提了 PR 。 感兴趣可以参考
https://github.com/caprover/caprover-frontend/blob/master/scripts/generate-locales.mjs
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://tanronggui.xyz/t/1109204
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.