V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tandk
V2EX  ›  分享创造

做了个免费的 json 和 markdown 翻译工具,做多语言网站的朋友可以用用看

  •  1
     
  •   tandk · 8 天前 · 856 次点击

    做了几个多语言的项目,确实感受到了更新和管理多语言文件的痛苦。

    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 结构的,这块的实现上当时花了不少时间。

    希望自己遇到的一些坑总结出来的工具和经验对大家有帮助吧,感谢~

    11 条回复    2024-11-12 15:13:06 +08:00
    Moyyyyyyyyyyye
        1
    Moyyyyyyyyyyye  
       7 天前
    很棒的主意,不过纯工具站,可以加点广告,不然持久不了
    tandk
        2
    tandk  
    OP
       7 天前
    @Moyyyyyyyyyyye 哈哈,谢谢,目前还没想那么多,主要自己也用的比较多,后续可能会考虑
    sead
        3
    sead  
       7 天前
    不错,md 可以弄成语言多选,打包成 zip 下载 ,正需要这东西:)
    tandk
        4
    tandk  
    OP
       7 天前
    @sead 一开始想做语言多选的,怕成本包不住,毕竟不知道有多少人会用,也还没想过收入问题。后期可能会考虑做付费入口支持更多花样,目前免费的只能这样了,开发者不会太难受,用的人也不会太难受了。
    sead
        5
    sead  
       6 天前
    @tandk json 版本 vscode 将就用,只有 md 比较麻烦
    tandk
        6
    tandk  
    OP
       5 天前
    @sead 哈哈,webstrom 用户表示没有发现~不过确实之前我特别搞 markdown 博客的时候一个不小心两三个小时就过去了,是挺烦躁的,所以才想做这个玩意儿,希望也能帮到你,哈哈
    andytao
        7
    andytao  
       4 天前
    能否支持 PO 文件的翻译?

    提取并翻译 PO 中的原文,就地替换为本地化的语言,可预览、可下载
    andytao
        8
    andytao  
       4 天前
    最好还能校验,因为其它语言真的不懂啊
    andytao
        9
    andytao  
       4 天前
    如有需要,我可以把 袋鼠 的 PO 文件分享给你做测试,文件比较大,适合测试;
    tandk
        10
    tandk  
    OP
       3 天前
    @andytao 感谢建议,不过我之前没接触过这种,我问了 gpt 说 po 文件是很多语言的项目都会用的,后面可能会考虑吧,最近一段时间可能会比较忙,忙完之后我再来详细了解下这个场景。估计不能简单无脑翻译,我得深入到使用的场景之后做出来的东西才能真正解决问题。
    tandk
        11
    tandk  
    OP
       3 天前
    @andytao 如果你着急用的话可以试试扔到 markdown 那边试试翻译下,看看能不能用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 04:23 · PVG 12:23 · LAX 20:23 · JFK 23:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.