如何汉化 po 文件及编译成 mo 文件

如何汉化 po 文件及编译成 mo 文件,第1张

wordpress里有.po 和.mo文件,是用于对wordpress进行语言翻译的文件

至于编辑工具,由于 po 文件本身就是一个文本文件,所以任何文本编辑器都可以使用。除了专门编辑 po 文件的 poEdit ,还推荐使用 EditPlus、UltraEdit或者你喜欢的 vi 或 vim。

poEdit 从poEdit.net上下载

一般是通过一个汉化过(翻译过)的 mo 文件来实现( WordPress 仅可识别 mo 文件)。如果原作者提供了一个 po 文件或 mo 文件,那么我们就可以通过相关工具来自行汉化,或者翻译成其他语言版本。因为 mo 文件不能直接编辑,所以我们得编辑 po 文件,若仅有 mo 文件,那么就应该先把它转换成 po 文件后再进行编辑翻译。

如果你使用的是 poEdit ,按 Ctrl + s 保存就会自动生成相应的 po 文件和 mo 文件;

或者在命令提示符界面,使用 msgfmt demo.po 命令将po文件编译为可用的 demo.mo 文件,用 msgunfmt demo.mo 命令转回 demo.po 文件,这些命令在 poEdit 的安装目录下有,可以拷贝msgunfmt.exe 、msgfmt.exe 及相关链接库文件 gettextlib.dll 、gettextsrc.dll 、iconv.dll 、intl.dll 到 c:/windows/system32 目录下,或者安装 .Net 2.0环境。

gettext – 将mo文件反编译成po文件,

poedit – 将po文件编译成mo文件,

反编译 mo 文件成 po 文件,使用 gettext 的 msgunfmt.exe 工具,命令如下

msgunfmt.exe d:test.mo -o d:test.po

编码 po 文件为 mo 文件,使用 poedit 的 msgfmt.exe 工具,命令如下

假设有个源文件:

#include <stdio.h>

int main()

{

printf("hello world\n")

return 0

}

---------------------------------

现在创建pot文件

xgettext -a hello.c -o hello.pot

---------------------------------

运行该命令后,我们发现,在当前目录下,产生了一个名hello.pot的文件,打开该文件,可以看到:

# SOME DESCRIPTIVE TITLE.

# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER

# This file is distributed under the same license as the PACKAGE package.

# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.

#

#, fuzzy

msgid ""

msgstr ""

"Project-Id-Version: PACKAGE VERSION\n"

"Report-Msgid-Bugs-To: \n"

"POT-Creation-Date: 2009-07-01 19:55+0800\n"

"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"

"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"

"Language-Team: LANGUAGE <LL@li.org>\n"

"MIME-Version: 1.0\n"

"Content-Type: text/plaincharset=CHARSET\n"

"Content-Transfer-Encoding: 8bit\n"

#: hello.c:5

#, c-format

msgid "hello world\n"

msgstr ""

---------------------------------

根据pot产生不同语言的po文件,这里我们先产生一个简体中文的po文件:

export LANG=zh_CN.gb2312

msginit -l zh_CN.gb2312 -i hello.pot

---------------------------------

翻译zh_CN.po里对应的字符串为中文,就是 po 中的那个 msgstr"" 改为:msgstr "你好,world"

---------------------------------

根据po文件生成mo文件。

msgfmt zh_CN.po -o zh_CN.mo

---------------------------------

行该命令后,我们发现,在当前目录下,产生了一个名zh_CN.mo的文件。它是二进制的,不能用文本编辑器打开。

安装mo文件到系统中:

cp -f zh_CN.mo /usr/share/locale/zh_CN/LC_MESSAGES/hello.mo

---------------------------------

#include <stdio.h>

#include <locale.h>

#include <libintl.h>

#define _(String) gettext (String)

#define LOCALEDIR "/usr/share/locale/"

#define PACKAGE "hello"

int main(int argc, char* argv[])

{

setlocale (LC_ALL, "")

bindtextdomain (PACKAGE, LOCALEDIR)

textdomain (PACKAGE)

printf(_("Hello, world!\n"))

return 0

}

---------------------------------

编译并运行:

gcc -g hello.c -o hello.exe

./hello.exe

可以看到屏幕上打印出:

你好, world!

现在我们换成英文试一下:

export LANG=es_US

./hello.exe

可以看到屏幕上打印出:

hello, world!

添加其它语言也很容易,不需要修改程序,只需要像对待中文一样,生成一个mo文件,并安装到系统中对应的目录即可。切换不同的语言仅仅是修改当前的locale就行了。

---------------------------------

这下美女有救了,呵呵!

image.png (208.33 KB, 下载次数: 0)

2020-11-27 11:10 上传

对于这种语言开发的程序,本人认为这就是个大杂烩。

image.png (21.15 KB, 下载次数: 0)

2020-11-27 11:12 上传

image.png (67.99 KB, 下载次数: 0)

2020-11-27 11:12 上传

image.png (53.11 KB, 下载次数: 0)

2020-11-27 11:14 上传

这些MO、PO文件是需要汉化的,但是尽管你汉化过了,但还是有些不显示中文

接下来要说的是编码问题: # -*- coding: UTF-8 -*-这个是一定最好是加的,不然汉化过的程序会导致主程序运行不起来!

[Python] 纯文本查看 复制代码_kLanguages = [

(

_('System Default'), None),

('English', 'en'),

('Chinese(ZhongWen', 'de'),

(u'Fran\xe7ais (French)', 'fr'),

(u'\u0420\u0443\u0441\u0441\u043a\u0438\u0439 (Russian)', 'ru')]

kDisplayLanguage = CTextIOValueDef('main', 'display-language', _('The language to use for the user interface. Either the default for this system, or set to a specific supported language.'), None, CValue(*[ l[1] for l in _kLanguages ]), CPopupChoiceGui(_kLanguages))

kDocumentationLanguage = CTextIOValueDef('main', 'documentation-language', _('The language to use for the documentation, when available (not all documentation is translated into all supported languages).'), 'en', CValue(*[ l[1] for l in _kLanguages ]), CPopupChoiceGui(_kLanguages))

kAutoReopenLastProject = CTextIOValueDef('main', 'auto-reopen-last-project', _('Controls whether most recent project is reopened at startup, in the absence of any other project on the command line.'), 1, CBoolean(), CBooleanGui())

from guiutils import scintilla

上面的这些行来说

u'是一定得加上的,不然给你打脸,其他文件中,

出现这类的行打头也得加,不然汉化就完蛋

System Default能不能,把后面的空(NONE)改成别的呢? 建议别来试,不行的。

可以修改English行,en为语言文件夹(可以把汉化的文件替换进去),这样打开就是中文的了。

image.png (71.97 KB, 下载次数: 0)

2020-11-27 11:20 上传

经过“改!改!改“,一大通折腾,你们终于变成中文的了。费劲,好费劲呐。

PYO要转换成PY文件,汉化完之后,再转换回来

在线utf-8转换:在线反编译pyo:(也可以使用上面提到的命令行工具;两种方法都是可以的)

注意输出的版本号信息(反编译在线 或 使用相关的命令行工具等),这个很重要,不然就会有以上问题

C:\Python27\python.exe -O -m py_compile C:\U\prefs2.py

搜索字符串时要注意 _字母 ,相当于首字母大写,注意利用ALT键,不然会搜索不到的。

文章知识点与官方知识档案匹配

Python入门技能树首页概览

189142 人正在系统学习中

点击阅读全文

打开CSDN,阅读体验更佳

Python(PyCharm)的下载&安装&汉化(2022)

一、下载 首先我们需要下载最新版的python和pycharm,也就是两个包,进入官网https://www.python.org/ 接下来点击下载最新版的python 接下来,我们继续下载另一个包,python编辑器——pycharm,进入官网https://www.jetbrains.com/pycharm/download/#section=windows 完成上面步骤之后就会有两个软件包,下载部分就结束了 二、安装 双击python-3.10.4-amd64,记得...

继续访问

最新发布 Python的准备工作——安装、配置、第一个项目、汉化(可不做)

安装python、pycharm

继续访问

python汉化之后好用吗_wingware python ide非常好用,就是不知该如何去汉化(已解决...

C:\Program Files (x86)\Wing IDE 6.1\resources\PO├文件夹1:[de]│├(1)build-files.po│├(2)scripts_debugger_extensions.po│├(3)scripts_django.po│├(4)scripts_editor_extensions.po│├(5)scripts_emacs_exte...

继续访问

IO中编码方式的详解

为什么存在字节流和字符流? String s = "中国"byte[] bytes = s.getBytes()System.out.println(Arrays.toString(bytes))//[-28, -72, -83, -27, -101, -67] byte[] bytes1 = s.getBytes("GBK")System.out.println(Arrays.toString(

继续访问

python缺点不容易反编译_关于Python写的程序汉化心得和所走过的各种坑儿

本文以wing ide for python 8.0来说对于这种语言开发的程序,本人认为这就是个大杂烩。这些MO、PO文件是需要汉化的,但是尽管你汉化过了,但还是有些不显示中文接下来要说的是编码问题: # -*- coding: UTF-8 -*-这个是一定最好是加的,不然汉化过的程序会导致主程序运行不起来![Python] 纯文本查看 复制代码_kLanguages = [ ( _('Syst...

继续访问

python汉化之后好用吗_买了《Python学习手册(中文第4版)》后悔了

以下是我在joyo上的书评一颗星是看在原书的面子上给的,要不真想直接给0分。可以说,这本书是我买书以来,让我最不爽的一本。今天刚拿到书后翻了一下目录,看到第八部分的时候,赫然看到旁边有一个注解:第八部分请到华章网站下载。紧接着第九部分依旧如是标注。于是我再到华章的网站上下了所谓的“增值服务”,期间还有注册环节,搜集无数多的个人信息。整个被电子化的部分共计239页,而实体书部分的最后一页编号为889...

继续访问

Python官方中文文档上线了,不用再苦寻民间汉化组了

终于,Python有官方中文文档了。 从今往后,不论是版本新变化,入门教程,语法讲解,Python模块安装指南……各种各样的手册,都可以直接看中文了。 你看,比起英文原版,中文的语气好像更加鸡冻一些: 春天来了,再也不用苦等野生汉化组了。 就算你没有更新到3.7,也不要紧。3.6还是有中文文档,3.5也有,连2.7都找得到: 入门教程,无微不至 如果你是一只萌新,恭喜你赶上了最好的年华。 这...

继续访问

Python编码方式以及改变方法

在 python 源代码文件中,如果你有用到非ASCII字符,则需要在文件头部进行字符编码的声明,声明如下: # code: UTF-8 因为python 只检查 #、coding 和编码字符串,所以你可能回见到下面的声明方式,这是有些人为了美观等原因才这样写的: #-*- coding: UTF-8 -*- 常见编码介绍: GB2

继续访问

关于python的开发软件pycharm设置中文(无需汉化包)

之前也是自己想着学python,在网上看了很多资料,然后选择了pycharm这个开发软件,软件就是很简单,自己可以去他的官网上面下载,但是一定要选择好对应的安装包,自己是Windows电脑就选择wing

继续访问

pycharm搭建python环境

原文连接 一.python环境的搭建 1.下载python(这里以python3.6为例) step 1:打开下载网址:https://www.python.org/downloads/windows/ step 2:我这里选着python3的版本 step 3:选择python的可执行文件安装包 ...

继续访问

python汉化之后好用吗_关于Python中输出中文的一点疑问

#encoding=gb2312import urllibimport redef getHtml(url):page = urllib.urlopen(url)html = page.read()return htmldef getImg(html):reg = r'(.*)'imgre = re.compile(reg)imglist = re.findall(imgre, html)retu...

继续访问

python中文版好用吗_有哪些好的python用的中文自然语言包推荐?

这里介绍2个python中文处理的包,分别是jieba和snownlp,这2个包处理起来中文都挺简单的,下面我简单介绍一下这2个包的安装和使用,实验环境win10+python3.6+pycharm5.0,主要内容如下:jieba分词:这个中文处理包比较常用,大部分都应该听说过,可以实现分词、标注词性、提取关键词等大部分功能,使用起来挺简单的,下面我简单介绍一下这个包:1.下载安装jieba,这里...

继续访问

pycharm 汉化

对于英文不好的同学使用pycharm比较困扰,因此汉化的中文版界面使用起来会方便很多。 下面介绍的汉化的方法希望大家能用上: 1,打开本地pycharm安装路径,找到lib文件夹并删除它(英文版的语言包) 2,把下载好的中文语言包拷贝到lib文件夹下,重新打开pycharm,就可以看到熟悉的中文界面了。

继续访问

如何让python输出中文

昨天一整天都在和中文和编码做斗争,最终我还是有一点小小的收获的。今天我来说说如何让python输出中文。在上一篇里说过,terminal是utf8亲生的,所以不能显示gbk,让人甚是郁闷,不过只要把python中的字符编码变换为utf8,那不就大功告成了嘛。 a='昨天' print a 这样会报错SyntaxError: Non-ASCII character '\xe6' in file

继续访问

Python基本常识(包含pycharm2019.2.3汉化以及专业版安装方法)-*- Python基础知识01 -*-

Python要点 Python要点中部分引用于 菜鸟教程-Python Python 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言...

继续访问

热门推荐 彻底搞懂 python 中文乱码问题

前言 曾几何时 Python 中文乱码的问题困扰了我很多很多年,每次出现中文乱码都要去网上搜索答案,虽然解决了当时遇到的问题但下次出现乱码的时候又会懵逼,究其原因还是知其然不知其所以然。现在有的小伙伴为了躲避中文乱码的问题甚至代码中不使用中文,注释和提示都用英文,我曾经也这样干过,但这并不是解决问题,而是逃避问题,今天我们一起彻底解决 Python 中文乱码的问题。 基础知识 ASC...

继续访问

python软件介绍-Python3.8.2 软件介绍(附安装包)

【软件名称】Python3.8.2【文件大小】51 MB【语言支持】简体中文【系统类型】?64位【兼容系统】?Win7/Win8/Win10【下载链接】 pan.baidu.com/s/1wb63L8LO-mHkZbu-6rF7Eg【提取密码】?1hdd【下载方法】 复制上方蓝字链接到浏览器打开【安装教程】?安装包内获取软件简介:python是一款功能强大的可视化编程工具。这款软件拥有hex、py...

继续访问

如何汉化并编译 Python 源代码

如何汉化并编译 Python 源代码前言参考文章我的工具关键字汉化其他源代码汉化Linux 下编译Windows 下编译汉化效果演示 前言 笔者是一名业余编程爱好者,年初偶然混进中文编程OO群。因觉得中文编程乃大势所趋,遂入了 Python 汉化(我称之为“草蟒”项目)的坑。笔者孤陋寡闻,刚开始汉化的时候只知道 GCC 且 GCC 不支持中文,所以没有选择汉化源代码的方式,而是采用替换式表层汉化方...

继续访问

不属于python语言特点支持中文_python语言支持中文吗

python的中文问题一直是困扰新手的头疼问题,Python的发行版至今尚未包括任何中文支持模块。那么python语言支持中文吗?遇到中文问题怎么办?1. print打印中文的问题:在编辑器中输入一段测试代码:s=’测试’print s运行结果如下:Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\...

继续访问

pycharm汉化教程-超简单的python开发教程

在搜索栏 Markettplace搜索 chinese 如下图,点击安装汉化包下载,下载好了点击运行,软件会自动重启。汉化完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7451763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存