是否有从多个 .po 文件生成所有 .mo 文件的命令?

时间:2021-02-10 01:21:45

标签: internationalization gettext po mo msgfmt

我在 GNU gettext 的标准目录结构中有多个 .po 文件:

locales/
├── en_US
│   └── LC_MESSAGES
│       └── myapp.po
└── zh_TW
    └── LC_MESSAGES
        └── myapp.po

我知道我可以编写一个脚本,使用 msgfmt 从这些 .po 文件生成 .mo 文件。类似的东西:

# generate-mo-files.sh

for PO_FILE in locales/*/LC_MESSAGES/*.po
do
    MO_FILE="${PO_FILE/.po/.mo}"
    msgfmt -o "$MO_FILE" "$PO_FILE"
done

然而,为我从事的每个项目编写这个脚本有点乏味。是否有针对此类用例的现成脚本?

1 个答案:

答案 0 :(得分:0)

如果您使用的是 GNU 自动工具,则可以使用脚本 gettextize 为 gettext 准备您的项目。其他构建系统也有类似的特殊工具。

否则,您的小脚本就是正确的解决方案。