Skip to main content
AI agent network visualization

翻譯 PO 檔案而不丟失複數形式

msgid 保持不變,每種語言的複數形式都準確無誤,注釋得到保留。讓 gettext 工作流更快完成。

普通 PO 翻譯工具忽略了 PO 的獨特之處

PO 檔案不只是鍵值對。它包含因語言而異的複數形式、用於消除歧義的訊息上下文、譯員注釋和來源檔案引用。大多數翻譯工具卻只把它當作扁平文字檔案。

不同語言的 nplurals 和複數公式不同,通用工具會使用錯誤的複數數量

用於消除歧義的 msgctxt 上下文會被忽略或翻譯

譯員注釋(#.)和來源檔案引用(#:)會被刪除

字元編碼標頭和 PO 元資料會被損壞

來源檔案(英語)
messages.pot
#: src/components/Cart.tsx:42
#. Translator: shown when cart is empty
msgid "Your cart is empty"
msgstr ""

#: src/components/Cart.tsx:55
msgid "item"
msgid_plural "items"
msgstr[0] ""
msgstr[1] ""

#: src/components/Auth.tsx:12
msgctxt "button"
msgid "Sign in"
msgstr ""
譯文(西班牙語)
es/LC_MESSAGES/messages.po
#: src/components/Cart.tsx:42
#. Translator: shown when cart is empty
msgid "Your cart is empty"
msgstr "Tu carrito está vacío"

#: src/components/Cart.tsx:55
msgid "item"
msgid_plural "items"
msgstr[0] "artículo"
msgstr[1] "artículos"

#: src/components/Auth.tsx:12
msgctxt "button"
msgid "Sign in"
msgstr "Iniciar sesión"

i18n Agent 會保留哪些內容

特定語言的複數形式

為每種目標語言使用正確的 nplurals 和複數公式,無需手動設定複數形式。

訊息上下文

保留 msgctxt 以消除歧義。例如,表示河岸和金融機構的 "bank" 都能獲得正確譯文。

注釋與引用

譯員注釋(#.)、提取的注釋(#:)和標誌(#,)都會完整保留

PO 元資料

根據目標語言正確設定標頭(Content-Type、Plural-Forms、charset)

相容您的技術堆疊

WordPress / WP-CLI
Django
PHP (gettext)
Python (gettext / Babel)
C/C++ (GNU gettext)
Ruby (gettext gem)

工作原理

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

無需手動複製粘貼,無需提取字串,直接獲得翻譯檔案。

立即試用 i18n Agent

將翻譯檔案拖放到此處

JSON, YAML, PO, XML, CSV, Markdown, Properties

或點擊選擇檔案

目標語言

無需註冊即時估價

常見問題

開發人員?

安裝 CLI 工具,2 分鐘內完成第一個檔案的翻譯。

安裝 CLI 工具

企業團隊?

仍受困於 TMS 合同?歡迎與我們討論遷移方案。