跳到正文
全部工具 价格 博客

聊天与语音消息

文档

音频与视频

登录

语言

在线翻译 PO 或 POT 文件,支持复数和上下文

上传 .pot 模板或翻译了一部分的 .po 文件,即可得到填好所有空 msgstr 的 .po 文件。msgid 和 msgctxt 不会改动,注释和引用位置都会保留,复数条目会按目标语言所需生成相应数量的形式。前段免费,无需注册;完整文件最多 5,000 条字符串,只需 $5,一次付费。

翻译字符串文件

语气
术语表和需保留的名称(可选)

品牌和产品名称,用逗号分隔。每个名称都会在所有译文中逐一检查。

每行一个术语:术语 = 译文。

无需注册。不超过300条字符串的任务完整免费。更长的:前几条字符串免费,任务内所有文件$5,一次付费。

继续即表示您同意我们的服务条款和隐私政策。

  • 翻译空条目和 fuzzy 条目;你已翻译好的条目保持不变
  • msgid_plural 条目会按目标语言生成 msgstr[0]、msgstr[1] …,并在头部写入 Plural-Forms
  • msgctxt、译者注释(#.)和引用(#:)会作为上下文一并发送,并保留在文件中
  • 逐条检查 php-format、c-format 和 python-format 占位符
  • 适用于 WordPress 插件和主题,以及 Django、Python、PHP 和 C 项目
打开演示

查看 PDF 示例

85 条字符串 · 键名不变

{

"home.greeting": "Good morning, {name}Buenos días, {name}",

"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",

"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",

"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",

"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."

}

黄色:占位符和 ICU 复数语法,逐条检查。青色:标签、转义符和表情符号,原样保留。

键名不变。占位符不变。换成新语言。

只改动值。文件以相同的嵌套结构和顺序返回,命名为 es.json;任何丢失占位符的字符串,都会先重新翻译,再进入你的构建。

本页专门编写的演示应用;西班牙语字符串为该工具的真实输出,来自一个含 85 条字符串的文件。

从 POT 模板到 PO 文件

.pot 文件是项目需要翻译的字符串清单,所有 msgstr 都是空的。上传后选择语言,就能得到头部已填好的 .po 文件:包含 Language、该语言对应的 Plural-Forms 行,以及 UTF-8 字符集。文件会按语言命名,例如 myplugin.pot 变为 myplugin-de.po;请改成你的项目所需的名称,例如 WordPress 用的 myplugin-de_DE.po,再用你惯用的工具编译成 .mo。

复数形式和 fuzzy 条目

各种语言的复数规则不同。英语有两种形式;在 gettext 中,波兰语和俄语用三种,阿拉伯语用六种。对于每个复数条目,翻译时会拿到目标语言的各种形式及示例数字(“形式 1:2、3、4、22”),并为每种形式写出一条译文。如果你的 .po 已有同一语言的 Plural-Forms 头部,就使用该规则。

标记为 fuzzy 的条目会重新翻译;fuzzy 标记和旧的 #| msgid 行会被移除,php-format 等其他标记则保留。已废弃的 #~ 条目保持不动。

工具的工作方式、费用以及文件处理方式,请见 本地化文件翻译 页面;所有工具的价格请见 价格 页面。

最后更新于

常见问题

会覆盖我已有的翻译吗?

不会。已有 msgstr 且不是 fuzzy 的条目会原样保留;只翻译空条目和 fuzzy 条目。

会生成 .mo 文件吗?

不会,提供的是 .po 文件。请用 msgfmt、Poedit 或框架自带的命令来编译,例如 WordPress 的 wp i18n make-mo,或 Django 的 compilemessages。

printf 占位符安全吗?

msgid 中的每个 %s、%d、%1$s 和 %(name)s 都必须出现在译文中。丢失任何一个的字符串会重新翻译;若仍然失败,其 msgstr 保持原状(为空或 fuzzy)并列出,这样 gettext 会回退到源文本,而不是显示出错的字符串。

价格是多少?

前几条字符串免费。完整文件最多 5,000 条字符串,$5 一次付费,无需订阅。小任务例外:不超过 300 条字符串的任务完全免费,包括下载。

相关任务

我们使用分析类 Cookie 来了解哪些页面对用户有帮助。是否同意?