Google 上面有一张图,比较直观的解释了这三者的关系: xgettext 在介绍图中的三种文件之前,先要了解一下xgettext这个工具,它是在 Linux 上的一个程序,Ubuntu 下可以直接使用...oh my god': '你好' } function gettext(text) { return translateMap[text]; } gettext('oh my god'); xgettext...运行下面的这个命令即可生成 .pot 文件 xgettext --keyword=_ --language=javascript --add-comments --from-code=utf-8 --sort-output...现在我们知道 .pot 文件是可以通过 xgettext 从代码文件中提取出来,根据英文全称我们知道这类文件是模板的概念,根据查阅资料得知,POT 文件是 PO 文件的模板文件。...# translator-comments 翻译者写的注释就会在这里显示 #. extracted-comments xgettext 从源代码中提取后给出的注释,通常是程序生成 #: reference
t.ugettext print(_("this message")) 2.从源代码中抽取需要国际化的文本消息,并转换创建.pot文件, 可以使用的工具为pygettext.py 或者GNU工具 xgettext...这里我使用xgettext, MAC上使用homebrew 安装, 输入命令: >brew install xgettext 即可自动完成安装, 安装后的默认目录:/usr/local/Cellar.../gettext/0.19.2/, 进入/usr/local/Cellar/gettext/0.19.2/bin 可以看到有很多可执行文件 , 我们这里需要用到xgettext 和 msgfmt 回到正题..., 输入以下命令生成example.pot文件 xgettext -o example.pot gettextdemo.py 3.将example.pot复制到.
代码解释#打开命令提示符或PowerShellxgettext--versionmsgfmt--versionmsgmerge--version应该显示类似这样的版本信息:收起代码语言:TXTAI代码解释xgettext...Welcometotheapplication"))print(_("Filenotfound"))if__name__=="__main__":main()提取可翻译字符串收起代码语言:TXTAI代码解释#使用xgettext...提取字符串xgettext-LPython-omessages.pottest.py#查看生成的.pot文件typemessages.pot生成的messages.pot文件内容收起代码语言:TXTAI...;提取翻译字符串:使用`xgettext`工具从源码中提取标记的字符串,生成`.pot`(PortableObjectTemplate)文件。这个文件包含了所有需要翻译的原始字符串。...收起代码语言:TXTAI代码解释xgettext-opo/myapp.potsrc/main.c`.pot`是翻译的模板文件。接下来我们要用它来生成翻译目标文件。
usr/bin/env python # -*- coding: utf-8 -*- print 'This is a translatable string.' 2)创建pot文件,使用linux下xgettext...命令 xgettext -k_ -o i18n_demo.pot --from-code=UTF8 i18n_demo.py 3)生成的i18n_demo.pot文件如下: # SOME DESCRIPTIVE
/locale',languages=['cn']).install(True) >>>print _("good") 在tornado中使用时: $xgettext -L python -k=_ -o
使用 xgettext 提取这些字符串生成 .pot 模板文件。为每种语言创建 .po 文件并翻译。用 msgfmt 编译 .po 为 .mo 文件,放入指定目录。运行脚本时自动加载对应语言的翻译。
/usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge...
/usr/bin/msgfmt checking for xgettext....../usr/bin/xgettext checking for catalogs to be installed... de updating cache .
netcf found: YES 0.2.8 Checking for function "gettext" : YES Has header "libintl.h" : YES Program xgettext...found: YES (/usr/bin/xgettext)Program msgfmt found: YES (/usr/bin/msgfmt)Program msgmerge found: YES...netcf found: YES 0.2.8 Checking for function "gettext" : YES Has header "libintl.h" : YES Program xgettext...found: YES (/usr/bin/xgettext) Program msgfmt found: YES (/usr/bin/msgfmt) Program msgmerge found: YES...found: YES (/usr/bin/xgettext)Program msgfmt found: YES (/usr/bin/msgfmt)Program msgmerge found: YES
1 root root 90312 5月 11 2019 /usr/bin/xargs -rwxr-xr-x 1 root root 340216 11月 9 2019 /usr/bin/xgettext