YAML 翻譯
原文語言: en-US (English, United States)
原文語言代碼。範例:fr, fr-FR, fil, zh-Hans-CN。輸入以搜尋。
目標語言: zh-Hans-CN (Chinese, Simplified Chinese, China)
目標語言代碼。範例:en, en-US, fil, zh-Hans-CN。輸入以搜尋。管理詞彙表管理語言指令
翻譯元資料:
產生並儲存詞彙表:
AI 翻譯需要時間(最多 5 分鐘),因為 AI 會處理您的內容。此 YAML 翻譯頁面會即時翻譯,且不會將您的內容儲存在我們的伺服器上。對於大型 YAML 檔案,我們建議使用 i18n 檔案翻譯 頁面以獲得更可靠的交付。請勿在翻譯完成前離開此頁面。

如何線上翻譯 YAML 檔案

使用我們的 AI 驅動工具,翻譯 YAML 本地化檔案非常簡單。請按照以下步驟,在幾分鐘內獲得完全翻譯的 YAML 檔案:

  1. 將您的 .yaml.yml 檔案內容貼到上方的編輯器中。
  2. 設定原文語言(或留空以進行自動偵測)並輸入目標語言代碼(例如 es, de, ja, zh)。
  3. 點擊「翻譯」並等待 AI 處理您的 YAML 內容。對於大型檔案,翻譯可能需要幾分鐘的時間。
  4. 複製翻譯後的輸出,或將其下載為準備提交到儲存庫的 .yaml 檔案。

什麼是 YAML 檔案?

YAML (YAML Ain't Markup Language) 是一種人類可讀的資料序列化格式,廣泛用於現代軟體開發中的設定檔和本地化。其乾淨、基於縮排的語法使其比 JSON 或 XML 更容易閱讀和編寫。

YAML 檔案使用 .yaml 或 .yml 副檔名,是 Ruby on Rails、Symfony (PHP)、Vue i18n、Flutter ARB、Spring Boot 和許多其他框架的標準本地化格式。單一 YAML 檔案通常包含一種語言的所有已翻譯字串。

由於 YAML 支援巢狀鍵、列表和行內註解,它特別適合將大型 UI 字串集組織成反映應用程式元件樹的階層結構。

本地化 YAML 檔案結構

典型的 YAML 本地化檔案使用巢狀鍵值對按功能或元件組織字串。以下是常見 YAML 結構的範例:

# Application configuration
app:
  name: "My Application"
  version: "2.0.0"
  description: "A powerful tool for managing your workflow"

navigation:
  home: "Home"
  about: "About Us"
  contact: "Contact"
  login: "Sign In"
  logout: "Sign Out"

messages:
  welcome: "Welcome back, {{name}}!"
  error: "An unexpected error occurred. Please try again."
  success: "Your changes have been saved successfully."

buttons:
  save: "Save"
  cancel: "Cancel"
  delete: "Delete"
  confirm: "Confirm"
  • 鍵值對 — YAML 的基礎:key: "Translated string"
  • 巢狀鍵 — 將相關字串分組在共同的父項下:button.save: "Save"
  • 列表 — 使用 - 前綴的有序值序列。
  • 註解 — 以 # 開頭的行提供翻譯者語境,並可選擇性地保留。
  • 插值佔位符 — 像 {{name}}%{count} 這樣的變數會按原樣保留,絕不會被翻譯。

YAML 本地化檔案範例

以下是一個真實的 YAML 本地化檔案,展示了生產環境 Rails 和 Vue i18n 專案中常見的巢狀鍵、插值和註解用法:

# en/messages.yaml
user:
  greeting: "Hello, {{name}}!"
  farewell: "Goodbye, {{name}}. See you soon!"
  profile:
    title: "Your Profile"
    subtitle: "Manage your account settings"
    avatar: "Profile Picture"

errors:
  notFound: "The page you are looking for does not exist."
  unauthorized: "You are not authorized to view this page."
  serverError: "A server error occurred. Please contact support."

forms:
  required: "This field is required."
  email: "Please enter a valid email address."
  minLength: "Must be at least {{min}} characters."

我們的 AI 會翻譯所有字串值,同時完全保留鍵、插值變數和結構縮排。結果是適用於您目標語言的直接替換檔案。

軟體本地化中的 YAML 檔案

YAML 是最受歡迎的軟體本地化格式之一,因為它在人類可讀性機器可解析性之間取得了適當的平衡。開發者無需特殊工具即可直接編輯 YAML 檔案,而自動化流水線可以可靠地處理它們。

在典型的本地化工作流程中,您會在 locales 或 i18n 目錄中為每種語言維護一個 YAML 檔案(例如 en.yml, de.yml, ja.yml)。原文語言檔案被視為參考,並為每個目標語系產生翻譯副本。

使用 YAML 進行本地化的框架與工具

YAML 本地化檔案受到多種語言和平台中廣泛流行的框架支援:

  • Ruby on Rails — 使用 YAML 作為其原生 i18n 格式 (config/locales/en.yml)。Rails i18n gem 內建支援巢狀鍵、複數形式和插值。
  • Symfony (PHP) — 除了 XLIFF 外,還支援 YAML 翻譯檔案。translations/messages.en.yaml 中的 YAML 檔案為 Symfony 翻譯元件提供支援。
  • Spring Boot (Java) — 雖然 Spring 通常使用 .properties 檔案,但 application.yml 中的 Spring YAML 支援以及 i18n4java 等社群函式庫將 YAML 擴展到了本地化。
  • Flutter / Darteasy_localization 套件和類似的 Flutter i18n 函式庫使用 YAML 檔案來管理行動與桌面應用程式的翻譯。
  • Vue i18n — 官方 Vue.js 國際化插件支援 YAML 訊息檔案。Vite-plugin-vue-i18n 允許直接將 .yaml 檔案匯入為 Vue 元件。
  • React / Next.jsnext-i18nextreact-i18next 等函式庫可以透過自訂後端載入 YAML 翻譯檔案,使其成為 Next.js 本地化的熱門選擇。

YAML 翻譯的 AI 詞彙表產生

我們的 AI 詞彙表產生功能可協助您在所有 YAML 本地化檔案中保持術語一致性。透過在翻譯選項中切換「產生並儲存詞彙表」來啟用儲存與重複使用:

  • 一致的術語 — AI 會分析您的原文 YAML 和現有的目標翻譯,以建立關鍵術語的詞彙表,確保產品名稱、UI 標籤和技術術語在整個應用程式中以相同方式翻譯。
  • 領域專用術語 — 在目標字串欄位中提供已翻譯 YAML 內容的範例。AI 會學習您偏好的術語並自動將其應用於新字串。
  • 如何使用 — 將您已翻譯的 YAML 內容貼到啟用詞彙表產生時出現的選用目標字串欄位中。AI 將提取重複出現的術語並將其用作翻譯指南。如果未提供目標字串,AI 將僅從原文內容產生詞彙條目,這仍然可以提高一致性。

為什麼選擇 L10n.dev 進行 YAML 翻譯?

  • AI 驅動的準確性 — 我們的翻譯引擎了解 YAML 本地化語境,而不僅僅是原始文本。它會翻譯人類可讀的字串,同時忽略鍵、錨點、別名和結構語法。
  • 結構保留 — 縮排、巢狀和 YAML 階層始終會被保留。翻譯後的檔案是一個有效的 YAML 文件,無需修改即可解析。
  • 插值支援 — 像 {{name}}%{count}:variable 和 ICU 訊息格式變數等佔位符在翻譯期間會被偵測到並保持不變。
  • 巢狀鍵感知 — AI 了解深層巢狀 YAML 檔案的階層結構,並根據每個字串在樹中的位置為其維護準確的語境。
  • 多框架相容性 — 輸出與 Ruby on Rails、Symfony、Vue i18n、Flutter、Spring Boot 以及任何使用標準 YAML 本地化檔案的框架相容。
  • 免費翻譯最多 10,000 個字元。付費方案為大型專案提供可擴充的定價。查看定價
  • 針對大型檔案最佳化 — 對於非常大的 YAML 檔案(數百 KB),請使用「i18n 檔案翻譯」頁面,該頁面支援高達 5 MB 的檔案上傳。

常見 YAML 翻譯使用案例

YAML 翻譯廣泛應用於各種類型的應用程式和開發工作流程:

  • Ruby on Rails 應用程式 — 將 config/locales/en.yml 翻譯成額外的語言檔案,用於多語言 Rails 應用程式。
  • Symfony PHP 專案 — 本地化 translations/messages.en.yaml 和用於 Symfony 網站與 API 的領域專用翻譯檔案。
  • Vue.js / Nuxt.js 應用程式 — 翻譯 Vue i18n YAML 訊息檔案,為 Vue 單頁應用程式和 Nuxt.js 靜態網站增加語言支援。
  • Flutter 行動應用程式 — 為針對多個市場的跨平台 Flutter 應用程式翻譯 assets/lang/en.yaml 本地化檔案。
  • 設定與 CMS 內容 — 翻譯靜態網站產生器(如 Jekyll、Hugo 或 Gatsby)使用的 YAML 設定檔,用於多語言網站內容。
  • 靜態網站產生器 — Jekyll 使用 _data/ YAML 檔案儲存全站字串,Hugo 使用 i18n/ YAML 檔案,Gatsby 則透過 gatsby-plugin-react-i18next 支援 YAML。
  • CI/CD 與 DevOps 流水線 — 使用 L10n.dev REST API 將 YAML 翻譯整合到您的部署流水線中,將本地化自動化作為發佈工作流程的一部分。

YAML 與 JSON 本地化比較

YAML 和 JSON 都廣泛用於本地化檔案,但它們各有優勢。YAML 的人類可讀語法、對註解的支援以及精簡的多行字串,使其在 Ruby 和 PHP 等社群中更受青睞,因為開發者經常需要手動編輯翻譯檔案。

JSON 在 JavaScript 生態系統(React、Angular、Vue)中受到更廣泛的支援,且更容易以程式設計方式進行解析。如果您的專案同時使用這兩種格式,L10n.dev 皆提供支援 — 您可以在 JSON 翻譯頁面翻譯 JSON 檔案,並在此處翻譯 YAML 檔案。

對於大多數專案,格式的選擇取決於您使用的框架。如果您使用 Rails、Symfony 或 Vue i18n,YAML 是自然的選擇。如果您使用 Angular i18next、React i18next 或 Next.js,JSON 則更為常見。L10n.dev 對兩者皆能處理得同樣出色。

常見問題解答

翻譯期間會保留 YAML 檔案的哪些部分?

所有 YAML 結構元素都會被保留:鍵、縮排、巢狀、錨點 (&)、別名 (*)、註解 (#) 和列表語法 (-)。像 {{variable}}%{name}:symbol 等插值佔位符始終保持不變。僅有人類可讀的字串值會被翻譯。

插值變數和佔位符在翻譯期間安全嗎?

是的。我們的 AI 會偵測 Rails (%{name})、Vue i18n ({name})、Symfony (%variable%)、Flutter ({name}) 和 ICU 訊息格式所使用的常見插值模式。這些變數會完全按照書寫方式保留,絕不會被翻譯或修改。

如何翻譯 YAML 檔案?

將您的 .yaml.yml 檔案內容貼到上方的編輯器中,設定目標語言代碼(例如 fr, de, ja, zh),然後點擊翻譯。AI 會傳回一個完全翻譯的 YAML 檔案,並保留所有鍵和結構。將結果下載為 .yaml 檔案。

AI 詞彙表產生功能如何協助 YAML 翻譯?

啟用「產生並儲存詞彙表」可讓您將現有的已翻譯 YAML 內容與原文檔案一起貼上。AI 會提取重複出現的術語並將其用作翻譯指南,確保產品名稱、功能標籤和領域術語在整個檔案及未來的翻譯中保持一致。

我可以翻譯大型 YAML 本地化檔案嗎?

此頁面適用於數百 KB 以內的單一 YAML 檔案。對於批次 YAML 翻譯或非常大的檔案,請使用「i18n 檔案翻譯」頁面,該頁面支援高達 5 MB 的檔案上傳,並為大型本地化專案提供更可靠的交付。