尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何给开源软件提交第一个翻译?本地化贡献完整指南

如何给开源软件提交第一个翻译?本地化贡献完整指南 如何给开源软件提交第一个翻译本地化贡献完整指南【免费下载链接】BambuStudioPC Software for BambuLab and other 3D printers项目地址: https://gitcode.com/GitHub_Trending/ba/BambuStudio写给从没做过翻译贡献的你跟着三个真实任务——修一处翻译、加一门新语言、注册可翻译字符串——走完整条流程独立提交第一次开源软件翻译。修一处现有翻译的完整步骤PO 文件这节解决发现一条翻译写错了怎么修并提交的问题全程走完你就熟悉本地化的整条链路了。克隆仓库git clone https://gitcode.com/GitHub_Trending/ba/BambuStudio拉取全部源码和翻译文件找到你要修的语言目录比如中文就是 bbl/i18n/ 下的zh_CN/BambuStudio_zh_CN.po用 PoEdit 以编辑翻译模式打开在 PoEdit 里搜到原文改译文保存保存时自动生成同名.mo二进制文件把生成的.mo文件复制到 resources/i18n/ 对应语言目录重命名为BambuStudio.mo软件运行时按这个文件名加载翻译把改动的.po和.mo两个文件一起提交到原目录⚠️ 按钮类文案别在译文里加括号备选译法如切片Slice按钮会被撑宽到遮挡。 ⚠️ 界面出现乱码时别怀疑自己的译文那多半是软件编码 bug直接报 issue。新增一门语言的操作清单这节解决项目还没有某门语言从零建一个翻译目录的问题。拿基础模板取 bbl/i18n/ 下的BambuStudio.pot含全部待翻译原文在 PoEdit 里选创建新翻译选目标语言如法语fr翻译完成后得到fr.po重命名为BambuStudio_fr.po点保存自动生成BambuStudio_fr.mo在bbl/i18n/下新建语言子目录fr/放入 PO 文件在resources/i18n/下同样建fr/放入BambuStudio.mo把 PO 和 MO 一起提交⚠️ 目录名和文件名前缀必须用同一个语言代码fr对应BambuStudio_fr.po对不上就加载不到。 ⚠️ 新语言不必一次译完未翻译的条目会回退显示英文先提交能译的部分。写新代码时让文案可被翻译标记宏 注册文件这节面向开发者只讲两件事用宏标记字符串、把文件登记进列表。标记可翻译字符串L()宏只负责标记运行时由_(s)或_CHB(s)取出译文auto message L(This will be localized); auto shown _(message); // 界面显示译文把新文件路径追加到 bbl/i18n/list.txtxgettext只扫描这份清单里的文件漏登记等于白写重新生成模板xgettext --keywordL --from-codeUTF-8 --no-location --debug -f bbl/i18n/list.txt -o bbl/i18n/BambuStudio.pot按清单提取所有 L() 字符串到 POT 模板把新模板合并进各语言文件msgmerge --no-wrap -N -o BambuStudio_xx.po BambuStudio_xx.po BambuStudio.pot-N表示新字符串标为未译不做模糊匹配用msgfmt --check-format -o BambuStudio.mo BambuStudio_xx.po生成 MO 文件同时校验占位符格式⚠️ 动态拼接出来的字符串扫不到运行时用L()登记标记即可别指望xgettext能提取。翻译红线清单✅ filament 等核心术语全文统一译法别一处耗材一处丝材⚠️%1%、%%这类格式占位符一个字符都别动改了就崩溃✅ 标点跟原文走原文没句号不加有句号不丢⚠️ 别擅自加换行符\n和多余空格尤其参数名✅ 参数描述不带单位单位用国际单位制缩写s不是sec⚠️ 按钮文案只留一个确定译法括号备选会让按钮异常加宽自测验证跑起来确认翻译生效这节解决怎么确认我的改动静物见效果PoEdit 的保存动作就是测试开关。在 PoEdit 里保存文件.mo即已生成把它复制到resources/i18n/xx/并重命名BambuStudio.mo启动 Bambu Studio在语言设置里切到该语言逐条核对你改过的文案看到乱码就报 issue软件 bug不是译错下一步提交合并后运行第 3 节的msgmerge同步最新模板从未翻译列表里挑 10 条空白条目继续译——这就是你的第二次贡献。【免费下载链接】BambuStudioPC Software for BambuLab and other 3D printers项目地址: https://gitcode.com/GitHub_Trending/ba/BambuStudio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表