
翻譯 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)
工作原理

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
或點擊選擇檔案
目標語言
無需註冊即時估價
常見問題
企業團隊?
仍受困於 TMS 合同?歡迎與我們討論遷移方案。