创建一个免费账户,每月获得 30,000 个字符免费 用于翻译您的内容,使用我们的 AI 驱动本地化服务。
无需信用卡即可开始!
使用我们基于 AI 的服务翻译 PO (Portable Object) 文件既快速又准确。请按照以下步骤翻译您的 gettext 本地化内容,同时保留 PO 格式结构。
PO (Portable Object) 文件是由 GNU gettext 国际化系统创建的一种广泛使用的本地化格式。它们使用 msgid(原始文本)和 msgstr(翻译文本)条目将可翻译字符串存储为键值对。
PO 文件是许多开源项目和框架的标准本地化格式,包括 WordPress、PHP 应用程序、Python (Django, Flask)、Ruby on Rails、C/C++ 程序以及使用 GTK 或 GNOME 构建的桌面应用程序。
PO 文件由包含以下关键元素的条目组成:
# Translation file for MyApp
#: src/components/header.js:12
msgid "Welcome to our application"
msgstr ""
#: src/components/login.js:8
msgid "Sign in to your account"
msgstr ""
#: src/components/dashboard.js:15
msgid "You have %d new messages"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""msgid — 原始未翻译字符串(源文本)。这用作查找翻译的键。msgstr — 目标语言的翻译字符串。空的 msgstr 值表示未翻译的字符串。#) — 为译者提供上下文。#: 表示源文件引用,#. 包含提取的注释,#, 包含 fuzzy 等标志。msgid_plural, msgstr[N]) — 处理特定语言的复数规则。不同的语言有不同数量的复数形式(例如,英语有 2 种,波兰语有 3 种,阿拉伯语有 6 种)。msgctxt) — 区分需要根据上下文进行不同翻译的相同源字符串(例如,“Open”作为动词与形容词的区别)。POT (Portable Object Template) 文件是用于创建 PO 文件的模板。它包含所有带有空 msgstr 值的源字符串。开始新翻译时,您需要复制 POT 文件,将其重命名为目标语言(例如 fr.po),然后填入翻译内容。
我们的服务同时接受 PO 和 POT 内容。只需粘贴任一格式,AI 就会为所有 msgstr 条目生成翻译。
以下是一个典型的带有标题和可翻译字符串的 POT 模板文件:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-01 00:00+0000\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"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/app.py:42
msgid "Hello, World!"
msgstr ""%s, %d, %(name)s),并根据目标语言的文化细微差别调整翻译。msgctxt)、复数形式和格式标志。翻译过程中会完整保留 PO 结构。msgstr[N] 条目。PO 文件是各种平台和框架的标准本地化格式:
makemessages 命令将可翻译字符串提取到 POT 文件中,compilemessages 将 PO 文件编译为二进制 MO 文件。gettext gem 进行本地化,特别是在与现有的基于 gettext 的翻译工作流集成时。@lingui/cli 工具将可翻译字符串提取到 PO 目录中,Lingui 的运行时在构建时加载编译后的翻译以获得最佳性能。PO 文件是建立时间最长的本地化格式之一,在开源社区拥有超过 30 年的历史。与基于 JSON 或 YAML 的格式不同,PO 文件内置了对复数形式、译者注释、源引用和上下文消歧的支持。
虽然现代框架通常使用 JSON (i18next, React Intl) 或 YAML (Rails),但 PO 仍然是 WordPress 插件、PHP 应用程序、Python Django 项目和 Linux 桌面软件的首选格式。我们的服务连接了这两个世界——在此处翻译 PO 内容,或使用我们的“I18N 文件翻译”页面进行任何格式的批量处理。
我们的 AI 翻译保留了完整的 PO 文件结构,包括标题(Project-Id-Version, Content-Type, Plural-Forms)、译者注释、源文件引用和格式标志,确保您翻译后的 PO 文件可以直接与 msgfmt 等 gettext 工具配合使用。