linux .mo文件,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:

操作系统包管理器安装命令Windowsscoopscoop install gettext

macOSHomeBrewbrew install gettext

GNU/LinuxLinuxBrewbrew install gettext

Debian GNU/Linux

Ubuntu

Ubuntu Kylin

Tails Linux

Kali Linux

MX Linux

Linux Mint

Deepin

antiX

KDE neon

Pop!_OS

Zorin OS

elementaryOS

PCLinuxOSaptsudo apt-get install -y gettext

CentOSyumsudo yum install -y gettext

Fedora

Mageiadnfsudo dnf install -y gettext

openSUSEzyppersudo zypper install -y gettext-tools gettext-runtime

Alpine Linuxapksudo apk add gettext

Arch Linux

ArcoLinux

Manjaro Linuxpacmansudo pacman -Syyu --noconfirmsudo pacman -S    --noconfirm gettext

Gentoo LinuxPortagesudo emerge gettext

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值