Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >gettext msgfmt安装及po/mo文件编译转换

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

作者头像
德顺
发布于 2020-10-16 02:49:29
发布于 2020-10-16 02:49:29
3.2K00
代码可运行
举报
文章被收录于专栏:前端资源前端资源
运行总次数:0
代码可运行

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

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

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

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

这里需要 gettext 的 msgfmt 。

安装 gettext :

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo yum install -y gettext

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install sudo

文件转换:

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
msgfmt -o /langs/languages-master/en_US.mo /langs/languages-master/en_US.po
#msgfmt -o 新文件 源文件

 注意顺序,不然会报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
msgfmt: error while opening "/langs/languages-master/ja_JP_.mo" for reading: No such file or directory

更多 msgfmt 命令可以参考:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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文件编译转换

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Anbox:在 Linux 上运行 Android 应用程序的简单方式
Anbox 是 “Android in a box” 的缩写。Anbox 是一个基于容器的方法,可以在普通的 GNU/Linux 系统上启动完整的 Android 系统。
用户8639654
2021/09/23
5.9K0
多语言中的 .POT .PO .MO 和 xgettext
如果你了解过 WordPress 的多语言,你就会发现关于这块的知识点中,会时不时的出现, .po .pot .mo 这类的文件。
上山打老虎了
2022/06/15
2K0
多语言中的 .POT .PO .MO 和 xgettext
在原生终端实现类似 rz、sz 上传下载文件与目录的功能
用过 rz、sz 上传和下载文件的,都知道非常的方便。那么,在 Linux 的原生终端,在 Mac 上的原生终端,在 Windows 中的 cmd 和 PowerShell 等,又能不能像 rz / sz 那样方便地传文件呢?
lonny
2022/07/23
3.3K0
Typecho配置多国语支持,检查客户端语言自动切换翻译
Typecho 原生自带了翻译功能,但不支持随客户端语言自动切换。 我们可以通过获取客户端语言,替换原生翻译功能所调用的翻译文件,来实现自动切换翻译。
德顺
2020/10/23
2.4K0
python gettext使用
2.从源代码中抽取需要国际化的文本消息,并转换创建.pot文件, 可以使用的工具为pygettext.py 或者GNU工具 xgettext
py3study
2020/01/03
1.7K0
python国际化(i18n)和中英文切
Python通过gettext模块支持国际化(i18n),可以实现程序的多语言界面的支持,下面是我的多语言支持实现:
py3study
2020/01/06
1.3K0
推荐一个比 ls 命令速度快 100 倍的文件目录浏览神器
相信每个使用 Linux 的用户都使用过 ls 命令,其主要作用就是用于展示当前目录或者文件列表。但 ls 这个古老的高频使用命令存在一些使用上的问题,比如:1. 输出界面不是很友好。2. 目录下文件过多的情况下,输出结果会比较慢。
iMike
2019/09/03
1.3K1
推荐一个比 ls 命令速度快 100 倍的文件目录浏览神器
一条命令行打包一个网页为html 文件
这个工具不仅保存目标文档,还嵌入了 CSS、图像和 JavaScript 资源,生成一个单一的 HTML5 文档。与传统的“另存为”功能不同,Monolith 能够将所有资源嵌入为数据 URL,从而使浏览器在没有网络连接的情况下也能准确渲染保存的页面。
大侠之运维
2025/01/14
2300
Linux 各发行版安装 ping 命令指南
ping 是网络诊断中最常用的命令之一,用于测试网络连接和延迟。不同的 Linux 发行版安装 ping 命令的方法略有不同。本文将详细介绍主流 Linux 发行版的安装方法。
洛秋_
2024/12/17
5550
善用开源,无GUI的磁盘管理小工具
系统用久了,占用磁盘会越来越多. 以至于到后面你都不知道究竟是什么东西占用了这么多磁盘空间.
御剑
2024/02/26
1.1K0
善用开源,无GUI的磁盘管理小工具
Ansible 自动化工具安装、配置和快速入门指南
市面上有很多自动化工具。我可以举几个例子,例如 Puppet、Chef、CFEngine、Foreman、Katello、Saltstock、Space Walk,它们被许多组织广泛使用。
用户1880875
2021/09/09
1.3K0
GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
提到ls命令,大家都不陌生,在Linux环境下,其主要作用:列出当前目录下所包含的文件及子目录,如果当前目录下文件过多,则使用命令ls不是很好,因为这输出出来的结果跟你所要查找的文件未能达成一致,第一:需要进行二次过滤查找;第二:文件过多时,终端输出结果较慢;
杰哥的IT之旅
2020/06/18
1.8K0
用于探索和测试API的开源IDE工具-Bruno
在进行软件开发与测试过程中,无论是开发人员还是测试人员,都会或多或少地进行接口调试与接口测试。尤其针对那种测试流程规范性很高的项目,测试人员进行接口测试是不可或缺的一部分。而这其中,大多数都会使用 Postman 作为接口测试的工具,无论从功能上还是使用上,大大提高了测试的工作效率。
wangmcn
2024/06/03
8190
用于探索和测试API的开源IDE工具-Bruno
如何在 Linux 上安装、配置 NTP 服务器和客户端?
你也许听说过这个词很多次或者你可能已经在使用它了。在这篇文章中我将会清晰的告诉你 NTP 服务器和客户端的安装。
用户4988085
2021/09/14
8.9K0
Mac OS下包管理器Homebrew的安装与使用
Mac OS X是基于Unix的,它可以使用非常多Linux平台上开源的优秀工具,比如wget,比如dos2unix脚本工具等。 但是OS X系统本身却缺少Linux下得包管理器。比如Fedora的yum与dnf,比如Ubuntu的apt-get,比如ArchLinux的Pacman等。 于是这些优秀的开源软件在Mac上的安装只能通过下载源码,编译,安装,配置环境变量的步骤来完成安装。对于大部分的软件,在安装过程中是需要很多的依赖库的,手动去解决这些依赖库是十分痛苦的事情。包管理器干的就是这样的事情:解决软件安装过程中的依赖关系。 有一个开源的项目叫Homebrew,完美解决了Mac OS X上没有包管理器的尴尬。 Homebrew的安装与使用
用户1065635
2019/03/21
2.4K0
【译】5个对Linux新手来说最好的包管理器
译者按:作为Linux新手来说,选择一个Linux发行版、熟悉Linux系统,无论做什么都离不开软件的安装与卸载。那么,软件包管理器的相关知识就显得非常重要了。下面,我们就一起来看看这5大最适合新手的
小小科
2018/05/04
1.7K0
【译】5个对Linux新手来说最好的包管理器
怎样才能让 Linux 文档的颜色高亮?
我们可以在 Linux 和类 Unix 系统(如 FreeBSD 或 macOS)上安装 pinfo。
杰哥的IT之旅
2022/09/02
1.2K0
怎样才能让 Linux 文档的颜色高亮?
5.5K Star不到1秒!!!查看系统所有配置,支持所有系统
开源日记
2024/05/09
5910
5.5K Star不到1秒!!!查看系统所有配置,支持所有系统
【CentOS】:软件包管理
On Linux, software is typically built as a package, distributed through repositories, and managed on the end-user’s system through package managers. Each Linux system typically contains thousands of packages, many of which are required dependencies for other packages.
WEBJ2EE
2021/09/02
1.5K0
【CentOS】:软件包管理
h5小游戏开发_小程序小游戏系统开发定制对接方案
1.Click space to pause or begin game. 2.Enter the letter on the rockets to hit them. 3.Number of the hearts will add one together with the rockets after ten rockets hit. 4.Failed when the number of hearts equals zero. 5.Click anywhere to start game!
开发v_StPv888
2022/11/03
1.1K0
推荐阅读
相关推荐
Anbox:在 Linux 上运行 Android 应用程序的简单方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验