做了几个多语言的项目,确实感受到了更新和管理多语言文件的痛苦。
Next.js 项目的话,一般是用 json 文件管理多语言的。像 zh.json, en.json, ru.json 等等,有多少种语言就会有多少个 json 文件。
之前一般是用 gpt 翻译这些 json 的,文件不多还好,一多就会受限于 gpt 的长度限制了。如果我发 zh.json 让他连续翻译成 en.json, ru.json...到后面它就忘记原来的 zh.json 文件的内容,开始胡编乱造了。如果每次都带 zh.json 原文去翻译,用不了几轮对话就受限了,也挺麻烦。
时不时还有新增几个页面需要新增 zh.json 的内容,然后又要重新翻译,太痛苦了,所以就想做个 json.cn 那样的工具,直接复制 json 进去,然后直接翻译,带了 json 格式化,看着也舒服。
另外底层实现原理不是拿着整个 json 让 gpt 翻译,而是分段再翻译,所以也不用怕一个 json 就超长的问题。
感兴趣的朋友可以试试json 翻译器
Markdown 同样也有这样的困扰,而且 Markdown 文本超长的情况更严重,无论是 gpt 还是机翻。机翻更离谱,无法识别 Markdown 格式,一些符号在翻译小语种的时候会翻车。
我做的这个Markdown 翻译器考虑了一下长度问题,虽然底下有长度的提示,但那只是建议长度,你超长了还是可以翻译的,那个建议长度是我自己实际使用下来的 markdown 长度均值,一般来说够大家用。也有在 markdown 语法上做识别,常用的符号翻译结果一般不会翻车,如果翻车了欢迎反馈,我做改进哈哈。
底层用的 gpt 也给了本土化的要求,尽可能做到比机器翻译更优秀的本土化翻译结果。
最后的最后,考虑到这个工具的使用者可能会面临的一些问题,我也会在里面写一些博客,比如说Next.js 项目 App 目录如何简单实现 i18n 国际化,后面可能会出一些关于 Next 项目 App 目录结构怎么搭多语言博客,当时这块查阅资料的时候发现比较成熟的目前还只支持 Pages 结构的,这块的实现上当时花了不少时间。
希望自己遇到的一些坑总结出来的工具和经验对大家有帮助吧,感谢~
1
Moyyyyyyyyyyye 52 天前
很棒的主意,不过纯工具站,可以加点广告,不然持久不了
|
2
tandk OP @Moyyyyyyyyyyye 哈哈,谢谢,目前还没想那么多,主要自己也用的比较多,后续可能会考虑
|
3
sead 52 天前
不错,md 可以弄成语言多选,打包成 zip 下载 ,正需要这东西:)
|
4
tandk OP @sead 一开始想做语言多选的,怕成本包不住,毕竟不知道有多少人会用,也还没想过收入问题。后期可能会考虑做付费入口支持更多花样,目前免费的只能这样了,开发者不会太难受,用的人也不会太难受了。
|
6
tandk OP @sead 哈哈,webstrom 用户表示没有发现~不过确实之前我特别搞 markdown 博客的时候一个不小心两三个小时就过去了,是挺烦躁的,所以才想做这个玩意儿,希望也能帮到你,哈哈
|
7
andytao 48 天前
能否支持 PO 文件的翻译?
提取并翻译 PO 中的原文,就地替换为本地化的语言,可预览、可下载 |
8
andytao 48 天前
最好还能校验,因为其它语言真的不懂啊
|
9
andytao 48 天前
如有需要,我可以把 袋鼠 的 PO 文件分享给你做测试,文件比较大,适合测试;
|