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

如何迭代使用xgettext来更新.po文件进行翻译

在云计算领域中,迭代使用 xgettext 工具来更新 .po 文件进行翻译是一种常见的方法。以下是一些关于如何使用 xgettext 进行翻译的指南:

1. 什么是 xgettext

xgettext 是一个命令行工具,用于从源代码文件中提取 gettext 标准的文本字符串。它通常用于创建或更新 .po 文件,这些文件包含可翻译的字符串和翻译。

2. 如何使用 xgettext

以下是一些使用 xgettext 的基本步骤:

  1. 安装 xgettext:

在大多数 Linux 发行版中,xgettext 已经预先安装。如果没有安装,可以使用以下命令安装:

代码语言:txt
复制

sudo apt-get install gettext

代码语言:txt
复制
  1. 提取字符串:

使用 xgettext 从源代码文件中提取字符串,并将其保存到一个 .pot 文件中:

代码语言:txt
复制

xgettext --default-domain=myapp --output=myapp.pot myfile.c

代码语言:txt
复制

在这个例子中,myfile.c 是源代码文件,myapp.pot 是输出文件,myapp 是文件的默认域。

  1. 更新 .po 文件:

使用 xgettext 更新现有的 .po 文件:

代码语言:txt
复制

xgettext --default-domain=myapp --output=myapp.pot myfile.c

msgmerge --update myapp.po myapp.pot

代码语言:txt
复制

这将更新 myapp.po 文件,添加新的字符串,并保留已翻译的字符串。

3. 如何翻译 .po 文件

.po 文件包含可翻译的字符串和翻译。每个字符串都有一个唯一的 ID,用于标识它。翻译人员可以使用任何文本编辑器打开 .po 文件,并将源字符串翻译成目标语言。

例如,以下是一个简单的 .po 文件示例:

代码语言:txt
复制
#: myfile.c:3
msgid "Hello, world!"
msgstr "你好,世界!"

在这个例子中,msgid 是源字符串(英文),msgstr 是目标字符串(中文)。翻译人员可以将源字符串翻译成目标语言。

4. 推荐的腾讯云相关产品

腾讯云提供了一些与云计算相关的产品,可以帮助您更好地管理和翻译您的应用程序。以下是一些可能对您有用的产品:

这些产品可以帮助您更好地管理和翻译您的应用程序,并提供更好的用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

文件进行多语言的翻译。...如果没有 .POT 文件充当一个模板,原先翻译好的 .po 文件就会被改动,新的待翻译内容和已被翻译的内容掺杂在一个文件中,如何解析拆分?...从工程层面上就会变的复杂,因此一个简单的翻译流程就是,先生成模板文件,通过模板文件产出翻译内容,程序则直接使用翻译内容,即 .po 文件,或将他们编译成二进制使用。...文件格式 .po 文件虽然是文本文件,可以使用任何文本编辑器打开,但里面的内容也是按照一定的格式编写的,对于一些基本的语法需要了解一下。 注释 注释都是非必填的,一共有五种。...如何开始 最简单的方式就是直接新建一个 .po文件,然后复制黏贴下面这段字符,即可使用 poedit 进行编辑,如果没有 msgid 和 msgstr 的话,将这个文件拖拽到 poeditor 是会报错的

1.4K31

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

python gettext使用

python中使用gettext进行语言国际化的方法 1.编辑源代码, 保存为gettextdemo.py import gettext catalogs = gettext.find("example..., 可以使用的工具为pygettext.py 或者GNU工具 xgettext 这里我使用xgettext,  MAC上使用homebrew 安装, 输入命令: >brew install xgettext..., 我们这里需要用到xgettext 和 msgfmt 回到正题, 输入以下命令生成example.pot文件 xgettext -o example.pot gettextdemo.py 3....二进制文件,  cd locale/en_US/LC_MESSAGES/ msgfmt -o example.mo example.po可以看到转换后生成的mo是二进制文件,而po,pot都是文本文件...这一步很关键,我在弄的时候没注意到这一步, 直接把.po文件复制成.mo文件, 导致出现以下类似的情况, 掉到坑里,半天爬不出来,汗~ File "C:\env\lib\gettext.py", line

1.5K20

使用 poEdit 汉化 WordPress 插件和主题

这篇日志首先将会详细讲解应该如何修改插件和主题,使得插件和主题能够被翻译。然后将介绍一个叫做 poEdit 的翻译软件,通过它 本地化 WordPress 插件和主题。...不过现在采用的是简单轻便的翻译方法:通过 .po 文件。 通过 .po 文件,任何人都能翻译你的插件或者主题,只要他熟悉插件使用的原始语言。...并且 .po 文件还有一个好处就是,如果源代码作了任何修改,翻译者不必查看源代码重新翻译,因为所有需要翻译的文本都会自动保存在一个后缀名为 .po 文件中,翻译者所需要做的只是重新更新下 .po 文件...使用 poEdit 进行翻译 WordPress Codex 已经有一个非常好的如何使用 poEdit 翻译插件或者主题的 step-by-step 教程,但是我这里将通过一个实例展示这些步骤。...如果你不准备翻译该插件,你可以保存.po 文件并把它和插件一起分发出去,让别人能够直接使用进行翻译。 第七步:翻译插件 一旦所有需要翻译的文本都找到了,就该开始翻译插件了。

1.2K20

人工智能的技术变革:HMS Core让你也拥有《星球大战》中的机器人 | Q推荐

C-3PO 通过从数据库中下载资料更新自己的语言技能,精通 700 万种语言交流形式,可以说是对宇宙间的所有已知语言尽数掌握。...对于有翻译需求的人来说,愿望就是拥有一个像 C-3PO 机器人一样可以翻译无限语种、在各种场景下都可以即刻准确进行语言翻译的设备。...该服务支持丰富多样的使用场景,比如邮件翻译、通话翻译、阅读翻译、实时语音翻译、AR 翻译。...在 AI 语音技术领域,ML Kit 算是一位入局较早并全面发展的选手,陆续实现了文本翻译、语种检测、实时语音识别、音频文件转写、实时语音转写、声音识别等语音语言类服务的支持与迭代。...ML Kit 模型伴随 HMS Core 版本动态更新,无需重复、频繁发布应用版本,Cut Cut 的开发者集成该服务后,仅进行了一次开发,便享受到了模型持续更新升级的便利。

56130

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

除了用_()包装文本外,还需要添加{{...}}强制_()进行翻译,而不是将其视为模板中的文本字面量。...04 提取文本进行翻译 一旦应用所有_()和_l()都到位了,你可以使用pybabel命令将它们提取到一个*.pot文件中,该文件代表可移植对象模板*。...在每个语言存储库中创建的messages.po文件使用的格式是语言翻译的事实标准,使用的格式为gettext。...messages.po文件是一种用于翻译的源文件。当你想开始使用这些翻译后的文本时,这个文件需要被编译成一种格式,这种格式在运行时可以被应用程序使用。...es的localeselector函数,将使所有文本在使用该应用时显示为西班牙文 06 更新翻译 处理翻译时的一个常见情况是,即使翻译文件不完整,你也可能要开始使用翻译文件

1.7K30

BuddyPress 简体中文语言包

从 BuddyPress项目启动的那时起,便已经可以使用 Gettext 拾取出来语言包的信息了。也就意味着,BuddyPress 是可以使用 PO 文件进行多语言化的产品。...告诉大家,他已经在 SVN 中提供了 PO 文件,方便大家进行翻译。其实通过 poEdit 经过“从源更新词条”的操作,也一样可以自己制作出 PO 文件。而且我们团队也已经完全进行了汉化。...如果 SVN 中的程序有所更新,我们团队也会尽快将语言包进行更新。您可以从 Dreamcolor 博客、中文团队博客、团队项目页面、WP 爱好者论坛等处获得或咨询相关信息。...下面介绍一下语言包的使用方法: BuddyPress 的语言包文件,需要命名为“buddypress-xx_XX”这种形式。...您如果是安装的最近更新的 BuddyPress 程序,您应该已经看到该目录里面存放的那个未经翻译PO 文件。将语言包上传到该目录即可。 这样,您的 BuddyPress 就可以使用上语言包了。

61410

研发效能组织能力建设之Scrum管理框架核心精髓(中)

然后,我介绍了特性团队的两个角色 FTO 和 FT 队员;最后介绍了在一个大公司里如何多FT进行分工协作。...PO必须每天能够解答问题,并进行验收测试。 迭代内,PO还要确定下个迭代的计划,交付功能、优先级顺序以及交付日期。 迭代结束时,PO要参与迭代展示会(show case)和迭代反思会。...(Product Backlog) 【PO】负责细化产品待办列表中的所有用户故事 【SM】召开产品待办规划会,PO按照优先级描述要做的产品待办,团队进行理解、提问,PO针对问题进行细化;团队会后进行工作了的预估和安排...【研发团队】自组织召开每日站立会,SM和 PO 必须参加;每个人讲完自己的进度后,更新任务看板内容。PO帮助接到迭代中的问题;SM 解决影响团队高效能的问题。...PO负责产品代办列表的内容、优先级和交付日期,期望迭代待办列表上的内容能尽快解决,但Team在做不在「迭代待办列表上」的事情如何解决?

66350

CODING 告诉你如何建立一个 Scrum 团队

理想情况下,他们会在整个迭代中频繁交付,可以在迭代回顾查看真实的客户使用情况和反馈。但是持续交付并不是总能保持的一种状态,并且其它发布模型也是必要的。PO 必须知道什么时候能够并且应该发布。...PO 必须与这些人合作,以确保开发团队提供真正的价值。这可能意味着 PO 需要与各个利益相关者进行沟通。 Scrum 神话:PO 制定所有要求,编写所有验收标准并创建所有需求。...比如创建故事地图和使用回顾性思维更新汇总信息页面。 经验主义 —— Scrum 和敏捷的一个基本方法是,达到目标的最好方式是去做并从中学习。...敏捷教练会鼓励团队成员走出他们的舒适区并尝试不同的事情,并使用诸如“委托扑克”之类的做法揭露和挑战有关角色界限和职责的预设想法。...敏捷教练在迭代规划和迭代回顾中为 PO 提供服务,确保描述准确并设置方向。他们通过维持事务正常运作、移除工作阻碍为开发团队服务,他们还对团队无法解决的障碍负责。

48220

CODING 告诉你如何建立一个 Scrum 团队

原文地址:https://www.atlassian.com/agile/scrum/roles 翻译君:CODING 敏杰小王子 Scrum 当中有三个角色:PO(product owner),敏捷教练...理想情况下,他们会在整个迭代中频繁交付,可以在迭代回顾查看真实的客户使用情况和反馈。但是持续交付并不是总能保持的一种状态,并且其它发布模型也是必要的。PO 必须知道什么时候能够并且应该发布。...PO 必须与这些人合作,以确保开发团队提供真正的价值。这可能意味着 PO 需要与各个利益相关者进行沟通。 [图片] Scrum 神话:PO 制定所有要求,编写所有验收标准并创建所有需求。...比如创建故事地图和使用回顾性思维更新汇总信息页面。 经验主义 —— scrum 和敏捷的一个基本方法是,达到目标的最好方式是去做并从中学习。...敏捷教练会鼓励团队成员走出他们的舒适区并尝试不同的事情,并使用诸如“委托扑克”之类的做法揭露和挑战有关角色界限和职责的预设想法。

59130

wordpress英文主题怎样汉化成中文网站模板

所以需要汉化,国内用户很少开发wordpress主题,即使开发也基本不会免费放出来用,中国人的习惯就是这样,一边高呼提倡别人开源,但是要自己开源免费的的时候就不行了,所以用wordpress的想找主题大多使用国外主题汉化了...本文重点介绍下破折君是如何进行操作的,详细操作步骤如下: 1、准备汉化工具。...汉化我使用的是Poedit这个工具,你可以去Poedit官网进行下载,也可以在本文留言发送到你的邮箱, 2、在wordpress主题包找到languages文件夹,在里面找到后缀为 .po 和 .mo...3、利用Poedit打开zh_CN.po这个文件,你可以看到如下图所示的界面,然后选择每段源文件进行翻译操作。...4、翻译完成以后,将zh_CN.po文件保存到languages文件夹中,汉化过程就基本告一段落了。

4.2K20

【Kevin聊敏捷】敏捷项目管理之Sprint Planning 迭代规划会

(排列Product Backlog Items 产品待办事项优先级) 2、确定开发团队如何合作完成要交付的增量。...Product Backlog的优先级只能由Product Owner排,他根据产品的价值排列。...中文名有翻译叫“迭代待办事项”,也有翻译叫“冲刺待办事项”。...图片 1.png 2、PO定义优先级 Product Owner产品负责人根据产品的价值对 Product Backlog产品待办事项进行优先级排序,如图六所示,高价值的需求放在最上面,价值低的需求放在最下面...开发团队根绝“完成的定义”一起决定如何实现产品的增量,需要有足够的设计和规划 开发团队预测并共同承诺他们需要完成的工作量 最终产出“迭代待开发项” ---- 0001.png

2.1K22

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

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

37220

【DEVOPS】Devops关键实践

2.可视化工作的优点: 发现已经接收的工作 发现潜在存在容量缺乏的领域 哪里的资源已经或即将耗尽 被阻塞的任务 未完成的任务 如果没有时间完成本迭代接收的所有工作,其中哪些值得尝试去完成,以便达到最大化有用的结果...(3)Devops更需要自动化(官方Devops书本上的翻译是一切都是自动化的) 部署流水线的环境由脚本在流水线控制系统的控制下自动创建 这些环境会在使用后自动销毁,从而释放资源 流水线的快速操作需要最大可能的测试自动化...流水线的最后部署和分发,也是自动完成,并对系统和应用程序健康进行必要的调整。...Devops仍然需要人工干预分析变化并对变化进行纠正 Devops流水线所有链接都是已知的,包括要解决的问题,客户,开发人员和测试人员。...(5)Devops需要持续改进和保持Devops(官方Devops书本上的翻译是流程是持续更新的) Devops建议应立即消除所有确定的过程缺陷。

72420

2018-04-21 搭建Python官

文件库nobodxbodon/python-docs-ko, 仅作演示用(更改字段"测试python入门教程": Update index.po · nobodxbodon/python-docs-ko...据非常有限的理解, 大概过程是, PO文件包含了所有翻译的段落, 像打补丁似地附加到原英文文档后生成rEst格式文件, 再编译成HTML文档(html库地址:nobodxbodon/py36zh....기타 제어 흐름 도구 - Python 3.6.5 文档) 接下去要解决的是, 如何汉化程序部分, 效果如下. 所有现有的其他语言的翻译文档都没有对程序进行本地化(字符串/命名等) ?...现在可以通过直接修改rst文件, 但PEP 545的流程是修改PO文件. 问了其他翻译组的作者, 似乎需要修改Sphinx配置才能实现(在PO文件中添加程序部分, 并且在构建时合并入rst文件)....后得知早先有老版本3.2.2的中文翻译项目: https://docspy3zh.readthedocs.io/en/latest/ 不知是否是这1.5%的前身.

40510

大规模敏捷测试怎么做(集成篇)

对于大规模的产品来说,即使采用敏捷的方式做,也依然避免不了多个服务集成以及和其他产品集成的过程,这一篇就和大家一起讨论一下在大规模敏捷测试中如何进行SIT(System Integration Testing...如图: 1)迭代内测试 迭代内测试主要关注两个方面的测试: 服务的功能测试 模块内的服务集成 迭代内的测试如何进行,可以参考上一篇博客:大规模敏捷测试怎么做?...首先转变为一个测试Coach,赋能其他角色,尤其PO进行测试;其次转变为一个Agent,问题解决的引擎。...1)作为测试Coach对PO赋能 PO第一次参与到测试中,虽然对场景熟悉,但是对测试理解尚浅。为了帮助PO尽快掌握测试能力,QA需要转变身份成为一个测试Coach,为PO进行赋能。...在与业务,PO,BA以及其他产品的人员讨论中,QA作为信息交汇点,具备业务和技术的结合智慧,提出自己的认知,从用户的使用角度,从技术的成本角度,统一考虑,以最优的成本守护价值。

20110
领券