首页 > 解决方案 > 是否有从多个 .po 文件生成所有 .mo 文件的命令?

问题描述

我在 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

但是,为我从事的每个项目编写这个脚本有点乏味。这种用例是否有现成的脚本?

标签: internationalizationgettextpomomsgfmt

解决方案


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

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


推荐阅读