参考链接:
https://tlanyan.me/three-ways-to-compile-po-into-mo-files/
命令:
msgfmt -c **.po
使用上述命令可以检查po文件是否正确,有没有重复翻译的问题。
msgfmt
还可以把mo
文件转为po
文件。
msgfmt
帮助:
adams@adams-pc:~$ msgfmt --help
用法:msgfmt [选项] filename.po ...
由文字模式描述生成二进制消息文件。
长选项必须用的参数在使用短选项时也是必须的。
可选参数也是如此。
输入文件的位置:
文件名.po ... 输入文件
-D, --directory=目录 在<目录>中查找输入文件
如果输入文件为 -,则将读取标准输入。
操作模式:
-j, --java Java 模式:生成 Java 资源包类
--java2 类似 --java,但假设是 Java2 (JDK 1.2 或较新
的版本)
--csharp C# 模式:生成 .NET .dll 文件
--csharp-resources C# 资源模式:生成 .NET .resources 文件
--tcl Tcl 模式:生成 tcl/msgcat .msg 文件
--qt Qt 模式:生成 Qt .qm 文件
--desktop 桌面访问模式: 生成 .desktop 文件
--xml XML mode: generate XML file
输出文件位置:
-o, --output-file=文件 将输出写入指定文件
--strict 使用严格的 Uniforum 模式
如果输出文件是 -,则会将结果写入至标准输出。
以 Java 模式输出文件位置:
-r, --resource=资源 资源名称
-l, --locale=语系 语系名称,必须是“语言”或“语言_国家”的格式
--source 生成 .java 文件,而非 .class 文件
-d 目录 类目录层次的基本目录
类名称是由资源名称连同语系名称共同决定的,两者之间会用下划线分隔。
-d 选项是必须的。class 文件会存放在指定的目录。
以 C# 模式输出文件位置:
-r, --resource=资源 资源名称
-l, --locale=语系 语系名称,必须是“语言”或“语言_国家”的格式
-d 目录 依赖语系的 .dll 文件的的基本目录
-l 和 -d 选项是必要的。.dll 文件会写入指定目录的子目录,而子目录的名称取决于语系。
以 Tcl 模式输出文件位置:
-l, --locale=语系 语系名称,必须是“语言”或“语言_国家”的格式
-d DIRECTORY .msg 消息库的基本目录
-l 和 -d 选项是必要的。所生成的 .msg 文件会存放在指定的目录。
桌面访问模式选项:
-l, --locale=语系 语系名称,必须是“语言”或“语言_国家”的格式
-o, --output-file=文件 将输出写入指定文件
--template=TEMPLATE .desktop 文件用作模版
-d DIRECTORY .po文件的基本目录
-kWORD, --keyword=WORD 查找 WORD 作为一个额外的关键字
-k, --keyword 不使用默认关键字
-l,-o 及--temmplate 选项是必须的。若指定了-D,
则输入文件从目录读取,而非命令行参数。
XML mode options:
-l, --locale=语系 语系名称,必须是“语言”或“语言_国家”的格式
-L, --language=NAME recognise the specified XML language
-o, --output-file=文件 将输出写入指定文件
--template=TEMPLATE an XML file used as a template
-d DIRECTORY .po文件的基本目录
-l,-o 及--temmplate 选项是必须的。若指定了-D,
则输入文件从目录读取,而非命令行参数。
输入文件的语法:
-P, --properties-input 输入文件以 Java .properties 语法给出
--stringtable-input 输入文件以 NeXTstep/GNUstep .strings 语法给出
输入文件的处理:
-c, --check 同时进行 --check-format、--check-header 和
--check-domain 三种检查
--check-format 检查和语言有关的格式字符串
--check-header 检查文件头项是否存在及检查其内容
--check-domain 检查 domain 指令和 --output-file 选项之间
是否冲突
-C, --check-compatibility 让 GNU msgfmt 以 X/Open msgfmt 的方式检查文件
--check-accelerators[=CHAR] 检查菜单项目中的快捷键标记是否存在
-f, --use-fuzzy 在输出中使用模糊的翻译条目
输出细节:
-a, --alignment=数字 以<数字>个字节为单位对齐字符串(默认:1)
--endianness=BYTEORDER 以指定字节序输出 32位数
(big 还是 little 是系统平台默认的)
--no-hash 二进制文件将不包含哈希表
信息性输出:
-h, --help 显示此帮助并退出
-V, --version 输出版本信息并退出
--statistics 打印关于翻译的统计
-v, --verbose 增加输出的详细程度
将错误报告至 <bug-gnu-gettext@gnu.org>。
adams@adams-pc:~$