Zh/Howto:Translate FlightGear

From FlightGear wiki
Jump to navigation Jump to search

FlightGear 支持本地化,即用户界面可以显示为用户母语而非英语。

本页面将帮助您将 FlightGear 翻译为新语言或改进现有翻译。

可翻译内容

模拟器的以下部分可进行翻译:

  • 菜单、启动画面、初始提示和使用 --help 命令行选项时显示的文本(FlightGear 2.7.0 及更高版本)
  • Linux 系统的快捷方式文件(FlightGear 2017.1 及更高版本)
  • 手册页(FlightGear 2017.3 及更高版本)
  • 内置启动器(FlightGear 2018.3 及更高版本)

翻译流程

  1. 确定目标语言的 ISO 639-1 双字母代码,可在美国国会图书馆查询。
  2. 检查翻译目录下是否已存在对应语言的子目录。若不存在,需在开发邮件列表申请创建空翻译文件(建议直接申请而非复制现有翻译,避免残留数据)。
  3. 使用文本编辑器(如 Notepad++ 或 GEdit)或专用工具(如 Qt Linguist)打开语言子目录中的 .XLF 文件进行翻译。推荐使用结构化工具,可跟踪翻译状态并部分自动化流程。
  4. 启动 FlightGear 测试翻译效果。默认使用系统区域语言,可通过 --language=语言代码 命令行选项显式指定。
  5. 通过开发邮件列表或 SourceForge 合并请求提交更新后的 .XLF 文件。

每个语言子目录包含两个 XLF 文件:核心模拟器字符串(启动消息/命令行帮助/提示)和启动器专用。

注意:用户界面可能不完全支持 Unicode(部分特殊/带重音字符可能无法显示)。若发现此类问题,请发送邮件至 flightgear-devel@lists.sourceforge.net

快捷方式文件翻译

编辑FlightGear的.desktop文件,翻译 GenericNameCommentKeywords 键值(需添加 GenericName[xx]Comment[xx]Keywords[xx],其中 xx 为语言代码)。

手册页翻译

  1. 确定目标语言的 ISO 639-1 双字母代码。
  2. 检查the man pages directory下是否存在对应语言子目录。若不存在,创建以语言代码命名的目录,并将man1man5子目录复制至此。
  3. 编辑 [man/CMakeLists.txt](https://gitlab.com/flightgear/flightgear/blob/master/man/CMakeLists.txt),在 if(NOT WIN32) 代码块中添加 add_subdirectory(xx)xx 为语言代码)。
  4. 分别修改 man/xx/man1/CMakeLists.txtman/xx/man5/CMakeLists.txt 的最后一行,将安装目录(DESTINATION)设置为 ${CMAKE_INSTALL_MANDIR}/xx/man1${CMAKE_INSTALL_MANDIR}/xx/man5
  5. 翻译对应语言子目录下的手册页。

使用 Qt Linguist 翻译 XLF 文件

可通过 QT 套件中的 Qt Linguist 翻译 XLIFF 文件。安装 QT 后打开软件,载入 XLF 文件即可开始翻译。界面分为四个主要区域:

  • **上下文** - 字符串的分组(由开发者定义),图标显示翻译状态,最终应全部显示绿色对勾
  • **字符串列表** - 所选分组的待译字符串
  • **源码与表单** - 显示字符串在源代码中的位置信息(可能不完整)
  • **源文本区** - 主翻译区域

翻译状态通过图标表示:绿色对勾(完成验证)、黄色问号(已翻译未验证)、灰色问号(未翻译)。若出现感叹号,表示译文与原文格式不符(如标点缺失)。使用工具栏按钮可标记验证状态,最终所有条目应标记为绿色对勾。

无框

参考文档:

相关内容