i18n 檔案翻譯
原文檔案:
接受 ZIP 壓縮檔或個別檔案:JSON、JSONC、XML、YAML、ARB、PO/POT、XLIFF、Properties、CSV/TSV、MD、TXT。最大容量為 5 MB。
原文語言: en-US (English, United States)
原文語言代碼。範例:fr, fr-FR, fil, zh-Hans-CN。輸入以搜尋。
產生並儲存詞彙表:
僅翻譯新字串:
指示是否僅翻譯新字串,或覆寫目標檔案中現有的字串。
目標語言:
de (German), zh-Hans-CN (Chinese, Simplified Chinese, China)
產生複數形式:
翻譯元資料:

支援的檔案格式

我們的 i18n 檔案翻譯服務支援跨不同平台和框架使用的多種檔案格式。

格式使用者 支援僅翻譯新字串 支援註解 支援元資料翻譯控制
JSON / JSONCJavaScript, TypeScript · i18next, React, Vue, Angular
XMLAndroid strings.xml · iOS plist · Generic XML · .NET ResX
YAML / YMLRuby on Rails · Node.js · 設定檔
ARBFlutter · Dart
PO / POTGNU Gettext · PHP, Python, WordPress, Ruby
XLIFF專業 CAT 工具 · 本地化平台 · Angular
.propertiesJava · Spring Boot · Android
CSV / TSV試算表 · 自訂本地化工作流程
MD說明文件 · README 檔案 · Jekyll, Hugo, Docusaurus
TXT用於應用程式本地化的純文字檔案

如何翻譯 i18n 檔案

翻譯 i18n 檔案是我們服務所提供的簡單流程。請遵循以下步驟來翻譯您的本地化檔案,並確保專案間的一致性。

  1. 上傳檔案: 使用「原文字串」區段上傳您的 i18n 檔案或 ZIP 壓縮檔。支援格式:JSON、JSONC、XML、YAML、ARB、PO/POT、XLIFF、Properties、CSV/TSV、MD、TXT。如果檔案名稱包含語言代碼,系統將自動將其用作原文語言。
  2. 設定原文與目標語言:
    選擇您的原文語言(例如 en-US)。新增一個或多個目標語言(例如 fr-FRde-DE),並設定翻譯選項,如縮寫、簡化、術語和檔案關聯。

    重要:如果您啟用「僅翻譯新字串」,則您上傳的目標檔案必須已經包含該語言先前翻譯過的字串(例如,您的法文檔案應已包含所有舊的法文翻譯)。系統隨後將僅翻譯缺失/未翻譯的字串

    如果您只是上傳與原文檔案相同的目標檔案(且沒有法文內容),則不會翻譯任何內容,因為系統無法偵測哪些字串是新的或舊的。

    注意:上傳目標檔案是選用的。如果您未上傳任何目標檔案,則所有字串都將被翻譯,無論是否啟用「僅翻譯新字串」

    檔案命名規則:
    如果您上傳的檔案名稱並非完全依照語言代碼命名(例如:fr.jsonde.json),它們的名稱必須與原文檔案的名稱一致,系統才能辨識出它們包含不同語言的相同字串。例如:

    /en/common.json
    /fr/common.json
    /de/common.json

    這能確保翻譯正確對齊。如果檔案名稱與原文檔案名稱不同,系統會將其視為屬於不同的命名空間。在 i18n 中,命名空間只是用於按應用程式部分組織字串的獨立檔案(例如:common.json 用於通用字串,auth.json 用於登入,dashboard.json 用於儀表板)。

    每個命名空間在每個語言資料夾中都應有一個對應的檔案:

    /en/common.json
    /en/auth.json
    /fr/common.json
    /fr/auth.json

    為每種語言使用相同的檔案名稱可確保系統能正確匹配字串。

  3. 開始翻譯:點擊「翻譯」按鈕開始。我們的服務會謹慎管理檔案以保留字串順序,防止不必要的變更。進度會即時顯示。
  4. 下載翻譯後的檔案:翻譯完成後,點擊「下載翻譯後的檔案」按鈕以取得翻譯內容。下載的檔案是一個以工作 ID 命名的 ZIP 壓縮檔(例如:0196e881-fb54-7150-a292-5b1e8f70a8ae.zip)。該壓縮檔包含每個目標語言的翻譯檔案,並按語言代碼組織在不同的資料夾中。

為什麼選擇我們的 i18n 翻譯服務

  • AI 驅動的語境翻譯:我們的 AI 能智慧解讀 i18n 格式佔位符,並根據語言代碼中指定的語言、腳本和地區,將翻譯調整為符合文化規範的內容。
  • 廣泛的格式支援:我們的服務處理所有主要的 i18n 檔案格式。它能精確管理複數形式、保留 HTML 標籤和註解、保留換行符,並保持檔案結構完整。
  • 地區特定調整:文字中的數字和日期會自動轉換以符合目標語系的格式。
  • 錯誤處理:我們偵測 AI 錯誤並在必要時重新翻譯,確保高品質的結果。
  • 具成本效益:我們的服務比其他機器翻譯解決方案更實惠。用戶每月享有 30,000 個字元免費額度。查看定價
  • 針對大型檔案最佳化:我們的系統透過將大型 i18n 檔案分割為可管理的區塊來有效處理,確保每個區塊都在 AI 的輸出視窗內。這種方法透過利用預定義的術語和語境,即使對於大型檔案也能保持翻譯一致性。

我們的平台透過先進的 AI 驅動翻譯簡化了您的 i18n 檔案本地化流程,在保留檔案結構和語境的同時,提供準確且高效的結果。

什麼是 i18n?國際化與本地化解析

國際化 (i18n) 是設計軟體的過程,使其無需更改程式碼即可適應不同的語言和地區。本地化 (l10n) 是為特定語系實際調整軟體的過程 — 翻譯字串、調整日期格式、貨幣和文化參考。i18n 中的「18」代表「internationalization」中「i」和「n」之間的 18 個字母。

i18n 檔案翻譯是本地化工作流程的核心。開發者不再將文字硬編碼在原始碼中,而是將所有使用者可見的字串外部化為資源檔案 — JSON、YAML、PO、XLIFF、ARB 或 Properties 檔案。這些檔案成為所有翻譯的單一事實來源,並與應用程式一起管理、版本控制和部署。

對於全球性產品,i18n 檔案可能需要翻譯成數十種語言。大規模管理此流程需要自動化、一致性和格式感知工具 — 這正是我們 AI 驅動的 i18n 檔案翻譯服務所提供的。

i18n 檔案格式:您應該使用哪一種?

i18n 檔案格式的選擇通常取決於您的技術堆疊。每種格式在結構、工具和平台支援方面各有優勢:

  • JSON — 最受歡迎的網頁應用程式格式。由 i18next、React Intl、ngx-translate 和 Vue i18n 使用。支援巢狀鍵和插值。推薦用於 React、Angular (ngx-translate)、Vue 和 Next.js 專案。
  • YAML — Ruby on Rails i18n 的原生格式,廣泛用於 Symfony (PHP) 和 Vue i18n。人類可讀,支援註解、巢狀鍵和多行字串。
  • PO / Gettext — WordPress 外掛、PHP 應用程式、Python (Django, Flask) 和 Linux 桌面軟體的標準。內建對複數形式、譯者註解和原始檔案參考的支援。
  • XLIFF — 專業翻譯工作流程的行業標準。由 Angular 內建的 i18n、iOS/Xcode 以及所有主流 CAT 工具(SDL Trados, memoQ, Memsource)使用。適合涉及翻譯代理商的企業專案。
  • ARB — Flutter 的應用程式資源包格式。基於 JSON,帶有本地化元資料。Flutter 和 Dart 應用程式本地化的標準,由 flutter gen-l10n 編譯。
  • Properties — Java 的原生本地化格式。由 Spring Boot、Android (舊版) 以及使用 ResourceBundle 的企業級 Java 應用程式使用。

增量翻譯:僅翻譯新字串

我們 i18n 檔案翻譯服務最強大的功能之一是增量翻譯 — 即僅翻譯新的或變更的字串,而無需重新翻譯已本地化的內容。這顯著降低了活躍開發專案的翻譯成本和處理時間。

若要使用增量翻譯,請為每種語言上傳您的原文檔案和現有的目標檔案。我們的系統會比較兩個檔案中存在的鍵,並僅翻譯目標檔案中缺失的字串。這在持續開發週期中特別有價值,因為每個衝刺 (sprint) 或發布都會新增新字串。

增量翻譯支援的格式列於上表中。對於其他格式,上傳目標檔案對於詞彙表語境仍然很有用,可確保翻譯過程中的術語一致性。

i18n 檔案翻譯的常見使用案例

我們的 i18n 檔案翻譯服務處理各種現代本地化場景:

  • 網頁應用程式本地化:為 React、Angular、Vue、Next.js 和 Nuxt.js 單頁應用程式翻譯 JSON、YAML 和 Properties 檔案。支援 i18next 命名空間結構,允許從單一 ZIP 上傳翻譯所有語言檔案。
  • 行動應用程式本地化:為 Flutter 應用程式翻譯 ARB 檔案,為 Android 翻譯 Properties 檔案,以及為 iOS 和 macOS 應用程式本地化翻譯從 Xcode 匯出的 XLIFF 檔案。
  • 說明文件與內容:為 Docusaurus、VitePress、Jekyll 和 Hugo 等靜態網站產生器翻譯 Markdown 檔案,以提供多語言說明文件網站。
  • WordPress 與 PHP 專案:為 WordPress 主題和外掛、Symfony 應用程式以及其他使用 gettext 本地化的 PHP 專案翻譯 PO/POT 檔案。
  • Angular 應用程式:翻譯由 ng extract-i18n 產生的 XLIFF 1.2 和 2.0 檔案,用於 Angular 的內建國際化系統。
  • 企業與 CAT 工作流程:使用我們保留結構的 AI 翻譯來處理與專業翻譯代理商和 CAT 工具(SDL Trados, memoQ, Memsource)交換的 XLIFF 檔案。
  • 開源專案:為基於 GNU gettext 的開源專案、桌面應用程式 (GTK/GNOME/KDE) 以及跨語言社群發布的開發者工具翻譯 PO 檔案。
  • CI/CD 自動化:使用 L10n.dev REST API 將 i18n 檔案翻譯整合到您的發布流程中,以便在每次合併或部署時自動翻譯新字串。

常見問題

支援哪些 i18n 檔案格式?

我們支援 JSON / JSONCXML (Android strings.xml, .NET ResX, 通用)、YAML / YMLARB (Flutter)、PO / POT (GNU Gettext)、XLIFF 1.2 和 2.0.properties (Java)、CSV / TSVMarkdown (.md) 以及純文字 (.txt)。檔案可以單獨上傳,也可以作為最大 5 MB 的 ZIP 壓縮檔上傳。

我可以一次翻譯成多種語言嗎?

可以。您可以在單一作業中新增多個目標語言。我們的服務會處理所有語言對,並將結果打包成按語言代碼組織的 ZIP 壓縮檔(例如 fr/, de/, ja/)。

「僅翻譯新字串」如何運作?

為每種語言上傳您的原文檔案和現有的目標檔案(已包含您先前的翻譯)。我們的系統會識別原文中存在但目標中缺失的字串並僅翻譯這些字串 — 避免重新翻譯您已付費的內容,並防止覆蓋手動編輯的內容。

最大檔案大小是多少?

每個檔案或 ZIP 壓縮檔的最大上傳大小為 5 MB。對於非常大的專案,請考慮按命名空間分割檔案或上傳多個作業。您可以在此頁面上即時監控作業進度,並在「檔案」頁面上存取所有已完成的作業。

檔案命名空間如何運作?

不同語言資料夾中名稱相同的檔案會被視為同一個命名空間(例如 /en/common.json/fr/common.json)。名稱不同的檔案會被視為獨立的命名空間。在所有語言資料夾中使用一致的檔案名稱,以確保正確的字串匹配。