OrcaSlicer本地化与翻译指南:从入门到实践

OrcaSlicer本地化与翻译指南:从入门到实践

【免费下载链接】OrcaSlicer G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.) 【免费下载链接】OrcaSlicer 项目地址: https://gitcode.com/GitHub_Trending/orc/OrcaSlicer

前言

作为一款开源的3D打印切片软件,OrcaSlicer的国际化支持对于全球用户至关重要。本文将详细介绍如何为OrcaSlicer贡献翻译,包括现有翻译的修正、新语言的添加以及开发过程中的字符串国际化处理。

准备工作

工具准备

  1. GNU gettext工具集:用于从源代码中提取字符串资源并创建翻译目录
  2. PoEdit编辑器:提供友好的翻译界面,支持PO文件编辑

建议将gettext的bin目录添加到系统PATH环境变量中,以便命令行调用。

翻译工作流程

场景一:修正现有翻译

  1. 获取PO文件:从项目本地化目录中找到对应语言的OrcaSlicer_xx.po文件
  2. 编辑翻译
    • 使用PoEdit打开文件
    • 查找需要修正的条目
    • 更新翻译内容
  3. 提交变更
    • 保存PO文件(会自动生成对应的MO文件)
    • 将MO文件复制到resources/i18n/xx目录并重命名为OrcaSlicer.mo
    • 提交变更

场景二:添加新语言支持

  1. 获取模板文件:下载OrcaSlicer.pot文件
  2. 创建新翻译
    • 在PoEdit中选择"创建新翻译"
    • 选择目标语言(如法语)
  3. 完成翻译
    • 翻译完成后,将文件重命名为OrcaSlicer_fr.po
    • 保存文件(自动生成MO文件)
    • 将PO文件放入对应语言子目录(如fr
    • 将MO文件放入resources/i18n/fr并重命名

场景三:开发新功能时的国际化处理

开发者在添加新功能时,需要特别注意字符串的国际化:

// 使用L()宏标记需要本地化的字符串
auto msg = L("This message to be localized");

// 获取翻译文本时使用适当的宏/函数
_(s);    // 常规翻译
_CHB(s); // 特定上下文翻译

重要提示:如果添加了新文件包含可翻译字符串,需要将该文件添加到L()宏文件列表中。

技术实现细节

使用GNU gettext进行本地化

  1. 创建字符串列表:列出所有包含L()宏的源文件

  2. 生成POT模板

    xgettext --keyword=L --add-comments=TRN --from-code=UTF-8 --debug -o OrcaSlicer.pot -f list.txt
    
    • --from-code=UTF-8:指定源字符串编码
    • --debug:确保正确提取格式化字符串(包含%d、%s等)
  3. 合并翻译

    msgmerge -N -o new.po old.po new.pot  # 合并新旧翻译
    msgcat -o new.po old.po               # 连接PO文件
    msgen -o new.po old.po                # 创建英文翻译目录
    

翻译最佳实践

  1. UI适配性

    • 特别注意按钮等UI元素的翻译长度
    • 避免在括号中添加替代翻译,这可能导致UI布局问题
  2. 格式保留

    • 严格保留%1%等格式化标记
    • 不要修改%%(表示百分号)
    • 保持空格、换行符(\n)和标点符号原样
  3. 术语一致性

    • 保持核心术语(如"filament")翻译一致
    • 参数描述中不要包含单位(使用"层打印时间小于"而非"层打印时间小于n秒")
  4. 单位规范

    • 使用国际单位制
    • 用"s"代替"sec"表示秒
  5. 标点规范

    • 原文有句号时,译文必须保留
    • 原文无句号时,译文不应添加

测试与验证

  1. 实时预览:在PoEdit中保存翻译后,会自动生成MO文件,可立即在OrcaSlicer中测试效果
  2. 编码问题:如发现乱码,可能是软件bug而非翻译问题,应及时报告
  3. 批量处理:使用自动校正工具后必须仔细校对,避免引入错误

结语

为OrcaSlicer贡献翻译不仅能帮助全球用户更好地使用这款软件,也是参与开源社区的重要方式。遵循本文指南,您可以高效、规范地完成本地化工作,为3D打印社区做出宝贵贡献。

记住,好的翻译不仅仅是文字的转换,更是用户体验的重要组成部分。保持术语一致、注意UI适配性、严格遵循格式规范,这些细节都将显著提升OrcaSlicer的国际化质量。

【免费下载链接】OrcaSlicer G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.) 【免费下载链接】OrcaSlicer 项目地址: https://gitcode.com/GitHub_Trending/orc/OrcaSlicer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值