gettext msgfmt安装及po/mo文件编译转换

时间:2022-07-27
本文章向大家介绍gettext msgfmt安装及po/mo文件编译转换,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近在研究 Typecho 的多语言切换(自动翻译)问题,官方也有提供翻译语言包

但是有个问题,官方提供的翻译文件都是 .po 文件,我试了一下 Typecho 并不支持 .po 文件,放入指定文件夹后不显示,没有任何效果。

有人说是正式版 Typecho 不支持 .po 文件,开发版支持,但我用的就是开发版。

那只能把 .po 文件编译一下,整成 .mo 文件就行了。

这里需要 gettext 的 msgfmt 。

安装 gettext :

这里以 CentOS 为例,其他平台安装命令放在最后面。

sudo yum install -y gettext

如果您的系统不支持 sudo 命令,需要安装 sudo:

yum install sudo

文件转换:

然后执行转换命令,将 .po 文件转换成 .mo 文件:

msgfmt -o /langs/languages-master/en_US.mo /langs/languages-master/en_US.po
#msgfmt -o 新文件 源文件

 注意顺序,不然会报错:

msgfmt: error while opening "/langs/languages-master/ja_JP_.mo" for reading: No such file or directory

更多 msgfmt 命令可以参考:

msgfmt --help

通过包管理器安装GNU gettext:

操作系统

包管理器

安装命令

Windows

scoop

scoop install gettext

macOS

HomeBrew

brew install gettext

GNU/Linux

LinuxBrew

brew install gettext

Debian GNU/LinuxUbuntuUbuntu KylinTails LinuxKali LinuxMX LinuxLinux MintDeepinantiXKDE neonPop!_OSZorin OSelementaryOSPCLinuxOS

apt

sudo apt-get install -y gettext

CentOS

yum

sudo yum install -y gettext

FedoraMageia

dnf

sudo dnf install -y gettext

openSUSE

zypper

sudo zypper install -y gettext-tools gettext-runtime

Alpine Linux

apk

sudo apk add gettext

Arch LinuxArcoLinuxManjaro Linux

pacman

sudo pacman -Syyu --noconfirmsudo pacman -S    --noconfirm gettext

Gentoo Linux

Portage

sudo emerge gettext

未经允许不得转载:w3h5 » gettext msgfmt安装及po/mo文件编译转换