首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

多语言中的 .POT .PO .MO 和 xgettext

.MO mo 代表 Machine Object,这是一个二进制数据文件,是 po 文件编译后的产物,通常我们汉化程序或者主题时,如果没有 pot 或者 po 文件的话,可以用 mo 文件反编译出 po...文件进行多语言的翻译。...如果没有 .POT 文件充当一个模板,原先翻译好的 .po 文件就会被改动,新的待翻译内容和已被翻译的内容掺杂在一个文件中,如何解析拆分?...从工程层面上就会变的复杂,因此一个简单的翻译流程就是,先生成模板文件,通过模板文件产出翻译内容,程序则直接使用翻译内容,即 .po 文件,或将他们编译成二进制使用。...> 除了上面的「注释」「flag」两类外,还有一种语法是表示单复数的,在翻译中可能需要对这类情况需要进行处理。

1.8K31

使用 poEdit 汉化 WordPress 插件和主题

不过现在采用的是简单轻便的翻译方法:通过 .po 文件。 通过 .po 文件,任何人都能翻译你的插件或者主题,只要他熟悉插件使用的原始语言。...在确保输出的文本可以被本地化之后,你必须设置你的插件或者主题的 .mo 文件的路径(.mo 是编译后的 .po 文件,它是在 poEdit 保存的时候会自动产生的)。...如果你不准备翻译该插件,你可以保存.po 文件并把它和插件一起分发出去,让别人能够直接使用它进行翻译。 第七步:翻译插件 一旦所有需要翻译的文本都找到了,就该开始翻译插件了。...在这里, 通过保存新文件,我将自动生成一个可以让别人使用的 .po的文件,和一个可以被 WordPress 直接读取来本地化插件的 .mo 文件。...总结 本地化一个 WordPress 插件是让更多地区用户使用你的插件的一个非常好的方法。本地化首先需要插件作者保证插件能够真正本地化,最后翻译者使用 PoEdit 进行翻译。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在浏览器中直接翻译 WordPress 主题和插件

    Loco 介绍和使用 我前面介绍过,使用 poEdit 汉化 WordPress 插件和主题,今天介绍一个新的服务:Loco,让你可以在浏览器中直接翻译 WordPress 主题和插件: Loco 提供了一个和...Poedit 一样 PO 文件编辑器,并且操作非常方便,只需要将你的 PO 文件直接拖进去即可: 上传之后,Loco 就会分析 PO 文件,并准备好要翻译的文本,你翻译好之后,就可以下载 .po 或者....mo 文件,或者直接存在 Loco 服务器中: Loco 的 WordPress 插件 为了方便大家使用,Loco 还自己开发了 WordPress 插件:Loco Translate,让你直接在...WordPress 后台翻译插件或者主题: 选择可以翻译的主题或者插件,就可以进行翻译了: 当你翻译完成保存 PO 文件,Loco 会在相同的位置保存编译好的 MO 文件,这样翻译就可以直接使用了...从源代码中直接提取要翻译的字符串。 原生的 MO 文件编译器,并且无需系统支持 Gettext。 支持 PO 的特性,包括留言,引用,负数等。 支持配置 PO 文件的备份。

    41320

    gettext模块实现Python国际化

    后者允许你在一个python模块内进行本地化,非常适用于在应用程序运行时切换你的语言。...---- 2.通用步骤 (1)无论是使用哪一套API,都必须提取可以翻译的字符串并且生成一个翻译模板文件.pot (2)然后生成对应于不同语言翻译的文件.po (3)我们在应用程序中使用是的二进制格式的....mo文件,由.po转换而来 现在举一个简单例子来示范上述步骤 (a)创建一个工程目录py_i18n,创建程序主文件my_app.py ?...这里msgid后面的字符串就是需要翻译的字符串,msgstr后面就是译文字符串。对en.po重复(e)操作 (f)使用msgfmt命令从po生成二进制文件mo,也是应用程序需要使用的文件。...到目前为止所有准备工作完成 补充: 注:上面的步骤也可以用poedit这款软件完成,官网上有详细的使用教程 另外,一旦python代码中要翻译的字符串发生变化(修改、增删),需要重新生成po文件时,可以用

    2.5K10

    tornado with i18n

    tornado中使用i18n需要下面两个工具 两个工具:pygettext,msgfmt,两个相关文件:po文件和mo文件 pygetext和msgfmt的使用方法: 编写python代码文件 test.py...,更改文件后缀 mv messages.pot messages.po 配置msgstr值 生成一个名为messages.mo文件: msgfmt messages.po 建立目录locale/cn/LC_MESSAGES.../locale’,unicode=True) 三个参数: 作用域名,用于限定翻译文件的主名 路径,存放翻译文件的路径 unicode,是否使用unicode(如果应用程序是unicode的,此处应设为True.../locale',languages=['cn']).install(True) >>>print _("good") 在tornado中使用时: $xgettext -L python -k=_ -o...-name \*.py) $(find template/ -name \*.html) 查找所有需要翻译的相关项生成 po 文件 $msgfmt openquant.po -o locale/zh_CN

    1.1K10

    Typecho配置多国语支持,检查客户端语言自动切换翻译

    Typecho 原生自带了翻译功能,但不支持随客户端语言自动切换。 我们可以通过获取客户端语言,替换原生翻译功能所调用的翻译文件,来实现自动切换翻译。...但是官方提供的翻译文件都是 .po 文件,Typecho 并不支持 .po 文件,可以将 .po 文件编译成 .mo 文件,参考这篇文章:gettext msgfmt安装及po/mo文件编译转换 我把转换好的文件也上传到我的项目仓库了...:GitHub / 我自己搭建的GitLab 直接下载:点击下载 下载完解压得到 .mo 文件,将这些文件放到 Typecho 根目录下的 /usr/langs/ 文件夹下,如果没有,需要手动创建。...在控制台 -> 设置 -> 基本 设置页面就可以看到语言选项了。 配置自动切换语言: 打开 Typecho 根目录下的 /var/Typecho/I18n.php 文件(注意是文件不是文件夹)。...可以根据自己的需要,进行相应的修改。 未经允许不得转载:w3h5 » Typecho配置多国语支持,检查客户端语言自动切换翻译

    2.2K10

    带你认识 flask 国际化和本地化

    04 提取文本进行翻译 一旦应用所有_()和_l()都到位了,你可以使用pybabel命令将它们提取到一个*.pot文件中,该文件代表可移植对象模板*。...在每个语言存储库中创建的messages.po文件使用的格式是语言翻译的事实标准,使用的格式为gettext。...messages.po文件是一种用于翻译的源文件。当你想开始使用这些翻译后的文本时,这个文件需要被编译成一种格式,这种格式在运行时可以被应用程序使用。...messages.po旁边添加messages.mo文件。....mo文件是Flask-Babel将用于为应用程序加载翻译的文件。 在为西班牙语或任何其他添加到项目中的语言创建messages.mo文件之后,可以在应用中使用这些语言。

    1.8K30

    flask babel使用(flask 107)

    在 hello.py 的同级目录创建一个叫 babel.cfg 的文件,内容如下: ? image 生成翻译模板 这样 babel 就知道要从哪些位置搜索要翻译的字符串了。...然后我们用 pybabel 生成要翻译的 PO 模板文件,这个命令是 babel 这个工具包带来的,生成翻译模板命令如下: $ pybabel extract -F babel.cfg -o messages.pot...接下来我们就可以进行翻译了,修改translations/zh_Hans_CN/LC_MESSAGES/messages.po文件,将其中的内容翻译过来: # Chinese (Simplified,...编译翻译结果 翻译完后执行下面的命令,为其编译出 message.mo 文件: $ pybabel compile -d translations 如果上述命令无法生成 messages.mo 文件,那你需要将...更新后需要用前面的命令重新生成 messages.pot 文件,然后使用下面的命令将更新的内容 merge 到原来的翻译中: $ pybabel update -i messages.pot -d translations

    87120

    python下wxpython程序国际化的实践(中文英文切换)

    2、多语言文件 语言文件主要是指三个文件:.mo文件,.po文件,.pot文件,百度上资料也很多,具体可以查看这个网址:http://shandian.biz/278.html 这里简单说明如下: 1、...2、po文件,是从原始pot文件对应的翻译文件,生成这个文件需要用到一个poedit软件。 3、mo文件,是编译后的po文件,程序可以直接读取,个人理解这么设置的目的是提高加载效率。...这里说明一点,这个pot、po、mo文件是一个通用规则,不是python首创的,很多著名的开发语言都支持上述i18n解决方案。...2.使用poEdit生成po文件。...a、这里提到的外部工具poEDIT有中文版本,请自行到https://poedit.net去下载. b、读取pot文件,翻译生成po文件,这个需要手动逐条完成 。

    2.2K31

    django2.2 国际化实践

    LOCALE_PATHS = [ os.path.join(BASE_DIR, 'locale'), # 翻译文件所在目录,请手动创建目录 ] 安装 gettext Django 框架具有很好的...文件( LOCALE_PATHS 对应语言目录下 - 具体看下图,这个里面就是我们手动写翻译的地方) django.po 文件: 如果执行命令:python manage.py makemessages...那么可能是:gettext 版本不对 或者 安装后没有加入到环境变量 手工翻译需要的 msgid 找到 settings 里面配置的 LOCALE_PATHS 下的 django.po 文件,开始你的编辑之路...msgid: 需要翻译的文案 msgstr: 翻译后的文案 在代码中看到:_("这种就是国际化的标志,我们只需要翻译下就 OK") 例子: 最后一步就是 编译 编译成功后会在 django.po 的对应目录生成...django.mo 文件 python manage.py compilemessages (joyoo) E:\yinzhuoqun\djangos\joyoo>python manage.py compilemessages

    64840

    【Django | 开发】 (国际化项目&支持多语言)

    二、实现步骤 2.1 为翻译字符串添加钩子 1) py文件 将需要翻译的字符串统一使用gettext_lazy或gettext包裹 from django.utils.translation import...和django.mo编译过的翻译文件 PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__name__))) LOCALE_PATHS...= ( os.path.join(PROJECT_ROOT, 'locale'), ) 在项目根目录下生成locale目录,用于保存翻译消息文件(.po和.mo格式的) 在终端输入 ( 大坑插入...en 文件 ( 这里的en 是之前所设置的名字,需要与setting中语言配置元组中第一个数据一样,此时我们需要都将中文翻译成英文,注意!!不进行翻译会默认使用其他语言!...和django.mo编译过的翻译文件 LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), ) 效果 可以看到中文都翻译成了自己翻译的英文 配置本地化中间件

    73010

    Ubuntu使用MAC主题

    /install.sh force (第二个错误完全是我自己习惯使用root权限进行操作而导致的,其实这样并不好,还是推荐使用普通用户) 注:在安装过程中,会有一些需要你选择的选项,都选择默认和yes就可以了...,搜索unity tweak tool 软件,打开之后就可以在“主题”里面选择以Macbuntu开头的主题就可以了 当然你如果想要更加好的体验,需要对后面的“图标”,“指针”,“字体”进行一一调整...; sudo msgfmt -o unity.mo ~/Mac.po;rm ~/Mac.po;cd 全部完成安装之后,重启你的电脑 之后去下载一个Mac系统的壁纸就可以得到下图了: 希望各位读者可以根据上面的步骤正常的完成安装...; sudo msgfmt -o unity.mo ~/Mac.po;rm ~/Mac.po;cd 不喜欢可以按着下面操作恢复 cd && wget -O Ubuntu.po http://drive.noobslab.com...o unity.mo ~/Ubuntu.po;rm ~/Ubuntu.po;cd 替换启动板上的ubuntu-logo为mac-logo wget -O launcher_bfb.png http:/

    1.5K10

    WordPress 2.6.2 简体中文版发布

    所以,如果您使用的是 WordPress 2.6.1 或更老的版本,强烈建议您进行升级。...本中文版由WordPress中文团队制作,做了以下修改(相对于英文原版): 加入wp-content/languages/zh_CN.mo中文包; 加入了 zh_CN.po,方便大家对中文包自行修改;...Dashboard 插件,方便大家得到更多的中文信息(插件需用户自行启动) 请按以下步骤进行升级: 备份你修改过的文件,并上传新版本文件直接覆盖掉旧版本文件; 上传所有新文件; 在浏览器中打开 http...希望各位在使用的过程中积极基础您的意见和建议。 WordPress 中文团队在制作简体中文(汉化)版时。默认会做以下工作: 使用 WordPress 官方发布的最新压缩包为基础文件。...使用官方提供的 POT 文件将前一版本语言包进行更新,并进行扩展翻译以及词条校对。 翻译 Readme.html 说明文件。

    23330

    你必须知道的 17 个 Composer 最佳实践(已更新至 22 个)

    这是一篇社区协同翻译的文章,已完成翻译,更多信息请点击 协同翻译介绍 。 尽管大多数 PHP 开发人员都知道如何使用 Composer ,但并不是所有的人都在有效地或以最好的方式使用它。...例如,使用形如 "symfony/symfony": "^3.1",有可能存在在 3.2 版本废弃的东西,而这会破坏你的应用程序在该版本下通过测试。...比如创建了一个库,要使用 symfony/yaml 库进行 YAML 解析,就应这样写: "symfony/yaml": "^3.0 || ^4.0" 这表示该库能从 Symfony 3.x 或 4.x...最佳方案应该这样做,用下面一行代码在项目根目录创建一个 .gitattributes 文件,它会告诉 git 不要试图对 composer.lock 文件进行合并操作: /composer.lock -...查看 [the result for symfony/symfony:^3.1 Tip 20: 在生产环境中使用使用权威类映射文件 应该在生产环境中 生成权威类映射文件 。

    7.5K20
    领券