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がコンテンツを処理するため、AI翻訳には時間がかかります(最大5分)。このYAML翻訳ページはリアルタイムで翻訳を行い、サーバーにコンテンツを保存しません。大きなYAMLファイルの場合は、以下の使用をお勧めします。I18Nファイル翻訳ページの方がより確実に配信されます。翻訳が完了するまでこのページから離れないでください。

YAMLファイルをオンラインで翻訳する方法

YAMLローカリゼーションファイルの翻訳は、AI対応ツールを使用すれば簡単です。以下の手順に従って、数分で完全に翻訳されたYAMLファイルを入手してください:

  1. .yamlまたは.ymlファイルの内容を上記のエディタに貼り付けます。
  2. ソース言語を設定(自動検出の場合は空欄)し、ターゲット言語コード(例:es, de, ja, zh)を入力します。
  3. Translate(翻訳)をクリックし、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など多くのフレームワークで標準的なローカリゼーション形式です。通常、1つのYAMLファイルに1つの言語のすべての翻訳済み文字列が格納されます。

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ローカリゼーションファイルの例

以下は、実際のRailsやVue i18nプロジェクトで見られるような、ネストされたキー、補間、コメントの使用例を示す現実的なYAMLローカリゼーションファイルです:

# 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は、人間による可読性機械による解析可能性のバランスが取れているため、ソフトウェアローカリゼーションで最も人気のある形式の1つです。開発者は特別なツールなしでYAMLファイルを直接編集でき、自動化されたパイプラインで確実に処理できます。

一般的なローカリゼーションワークフローでは、localesまたはi18nディレクトリ内に言語ごとに1つのYAMLファイル(例:en.yml, de.yml, ja.yml)を保持します。ソース言語ファイルが参照として扱われ、各ターゲットロケール用に翻訳されたコピーが生成されます。

YAMLをローカリゼーションに使用するフレームワークとツール

YAMLローカリゼーションファイルは、複数の言語やプラットフォームにわたる幅広い人気フレームワークでサポートされています:

  • Ruby on Rails — ネイティブのi18n形式としてYAMLを使用します(config/locales/en.yml)。Rails i18n gemは、ネストされたキー、複数形化、補間を標準でサポートしています。
  • Symfony (PHP) — XLIFFと並んでYAML翻訳ファイルをサポートしています。translations/messages.en.yamlのYAMLファイルがSymfony Translationコンポーネントを駆動します。
  • 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ローカリゼーションファイル間で一貫した用語を維持するのに役立ちます。翻訳オプションでGenerate & Save Glossary(用語集を生成して保存)を切り替えて、保存と再利用を有効にしてください:

  • 一貫した用語 — AIがソースYAMLと既存のターゲット翻訳を分析して主要用語の用語集を作成し、製品名、UIラベル、技術用語がアプリ全体で同じように翻訳されることを保証します。
  • ドメイン固有の用語 — ターゲット文字列フィールドに翻訳済みのYAMLコンテンツのサンプルを提供してください。AIが好みの用語を学習し、新しい文字列に自動的に適用します。
  • 使用方法 — 用語集生成が有効な場合に表示されるオプションのターゲット文字列フィールドに、翻訳済みのYAMLコンテンツを貼り付けます。AIが繰り返し出現する用語を抽出し、翻訳ガイドとして使用します。ターゲット文字列が提供されない場合でも、AIはソースコンテンツのみから用語集エントリを生成し、一貫性を向上させることができます。

YAML翻訳にL10n.devを使用する理由

  • AIによる正確性 — 当社の翻訳エンジンは、生のテキストだけでなくYAMLローカリゼーションのコンテキストを理解します。キー、アンカー、エイリアス、構造構文を無視しながら、人間が読める文字列を翻訳します。
  • 構造の保持 — インデント、ネスト、YAML階層は常に保持されます。翻訳されたファイルは、変更なしで解析可能な有効なYAMLドキュメントです。
  • 補間サポート{{name}}%{count}:variable、ICUメッセージ形式の変数などのプレースホルダーは検出され、翻訳中にそのまま残されます。
  • ネストされたキーの認識 — AIは深くネストされたYAMLファイルの階層構造を理解し、ツリー内の位置に基づいて各文字列の正確なコンテキストを維持します。
  • マルチフレームワーク互換性 — 出力はRuby on Rails、Symfony、Vue i18n、Flutter、Spring Boot、および標準のYAMLローカリゼーションファイルを消費するその他のフレームワークと互換性があります。
  • 10,000文字まで無料で翻訳できます。有料プランでは、大規模プロジェクト向けのスケーラブルな料金設定を提供しています。料金を見る
  • 大規模ファイル向けに最適化 — 非常に大きなYAMLファイル(数百キロバイト)の場合は、最大5 MBのファイルアップロードをサポートするi18nファイル翻訳(I18Nファイル翻訳)ページを使用してください。

一般的なYAML翻訳のユースケース

YAML翻訳は、幅広いアプリケーションタイプや開発ワークフローで使用されています:

  • Ruby on Railsアプリ — 多言語Railsアプリケーション用にconfig/locales/en.ymlを追加の言語ファイルに翻訳します。
  • Symfony PHPプロジェクト — SymfonyベースのWebサイトやAPI用にtranslations/messages.en.yamlやドメイン固有の翻訳ファイルをローカライズします。
  • 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)を設定して、Translateをクリックします。AIは、すべてのキーと構造が保持された完全に翻訳済みのYAMLファイルを返します。結果を.yamlファイルとしてダウンロードしてください。

AI用語集生成はYAML翻訳にどのように役立ちますか?

Generate & Save Glossary(用語集を生成して保存)を有効にすると、既存の翻訳済みYAMLコンテンツをソースファイルと一緒に貼り付けることができます。AIが繰り返し出現する用語を抽出し、翻訳ガイドとして使用することで、ファイル全体および将来の翻訳全体で製品名、機能ラベル、ドメイン用語が一貫して翻訳されるようになります。

大規模なYAMLローカリゼーションファイルを翻訳できますか?

このページは、数百キロバイトまでの個別のYAMLファイルに適しています。一括YAML翻訳や非常に大きなファイルの場合は、最大5 MBのファイルアップロードをサポートし、大規模なローカリゼーションプロジェクトに対してより信頼性の高い配信を提供するi18nファイル翻訳(I18Nファイル翻訳)ページを使用してください。