是什么 ? | : | GNU internationalization (i18n) and localization (l10n) library |
开发语言 | : | C |
开发组织 | : | GNU |
官方主页 | : | https://www.gnu.org/software/gettext |
操作系统 | 包管理器 | 安装命令 |
---|---|---|
Windows | scoop | scoop install gettext |
macOS | HomeBrew | brew install gettext |
GNU/Linux | HomeBrew | brew install gettext |
apt | sudo apt-get install -y gettext | |
CentOS | yum | sudo yum install -y gettext |
dnf | sudo dnf install -y gettext | |
openSUSE | zypper | sudo zypper install -y gettext-tools gettext-runtime |
Alpine Linux | apk | sudo apk add gettext |
pacman | sudo pacman -Syyu --noconfirm | |
Gentoo Linux | Portage | sudo emerge gettext |
pot:
pot
(Portable Object Template
)
.pot
文件是一种模板文件。其中包含了从源代码中提取所有的需要翻译的字符串的列表。
.pot
文件是提供给翻译人员,让翻译人员进行翻译的。
.pot
文件是使用xgettext命令生成的。
po:
po
(Portable Object
)
.po
文件是对应语言的翻译结果,比如中文就是zh_CN.po
、法语就是fr.po
文件。
.po
文件是使用msginit命令生成的。
mo:
mo
(Machine Object
)
.mo
文件是面向计算机程序的,他是二进制文件。
.mo
文件是使用msgfmt命令生成的。
汉化:
我们经常看到一些英文软件的汉化包,这些汉化包实际上就是通过使用msgunfmt命令 将.mo
文件反编译为.po
文件,做了汉语的翻译之后,重新走了生成.mo
文件的流程而得到的。