JSON翻訳
ソース言語: 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分)。このJSON翻訳ページはリアルタイムで翻訳を行い、サーバーにJSONや翻訳を保存することはありません。大容量のコンテンツについては、i18nファイル翻訳ページの使用をお勧めします。翻訳が完了するまでこのページから離れないでください。

JSONの翻訳方法

当社のサービスを使用したJSONの翻訳は、シンプルで効率的です。以下の手順に従って、精度を確保しながらJSON構造を維持して翻訳してください。

  1. JSONを貼り付け: 「ソース文字列」セクションにJSONコンテンツを貼り付けます。JSONが有効で、適切にフォーマットされていることを確認してください。当社のサービスは深くネストされたJSONオブジェクトをサポートしており、翻訳中も構造を保持します。
  2. ターゲット言語を設定: 翻訳先の言語(例: 'fr-FR')を入力します。
  3. 翻訳を開始: 「翻訳」ボタンをクリックして開始します。当社のサービスはJSON構造を慎重に処理し、キーとフォーマットを保持しながら値を翻訳します。
  4. コピーまたは保存: 翻訳が完了したら、翻訳されたJSONをクリップボードにコピーするか、ファイルとして保存できます。保存されたファイルは自動的にターゲット言語コードが名前として使用されるため、識別と整理が簡単です。

JSONとは?なぜローカリゼーションに使用されるのか?

JSON (JavaScript Object Notation)は、データをキーと値のペアおよびネストされたオブジェクトとして整理する、軽量で人間が読みやすいデータ交換形式です。もともとJavaScriptのデータ交換用に設計されたJSONは、現在ではすべての主要なプログラミング言語、ランタイム、ブラウザでネイティブにサポートされているユニバーサルな形式です。

JSONは、そのシンプルさ、ネイティブのブラウザサポート、およびJavaScriptエコシステムとの深い統合により、Webおよびモバイルアプリのローカリゼーションの主要な形式となっています。i18nextReact Intlngx-translateVue i18nnext-i18nextなどのライブラリはすべて、JSONを主要またはデフォルトの翻訳ファイル形式として使用しています。

JSONローカリゼーションファイルは、文字列をネストされたキーと値のペアとして保存します。キーはコード内で参照される識別子として機能し、値には特定の言語でユーザーに表示される人間が読めるテキストが含まれます。

JSON i18nファイル構造

適切に構造化されたJSONローカリゼーションファイルは、ネストされたオブジェクトを使用して階層的に文字列を整理します。一般的な例を次に示します:

{
  "greeting": "Hello, World!",
  "user": {
    "name": "John Doe",
    "welcome": "Welcome back, {{name}}!"
  },
  "nav": {
    "home": "Home",
    "about": "About Us",
    "contact": "Contact"
  }
}
  • 文字列キー — コード内の翻訳を参照する人間が読める識別子(例: t('nav.home'))。キーは翻訳されず、文字列値のみが翻訳されます。
  • ネストされたオブジェクト — 関連する文字列を共有名前空間(例: auth, errors)の下にグループ化することで、大規模なファイルを整理し、チーム全体で維持しやすくします。
  • 補間プレースホルダー{{name}}{{count}}のような変数が文字列値に埋め込まれます。当社のAIは、翻訳中にすべてのプレースホルダー形式を検出し、保持します。
  • 複数形の形式キー — i18nextは、言語固有の複数化ルールを処理するために特別なキーサフィックス(_one, _other, _few, _many)を使用します。当社のサービスはこれらのパターンを認識し、各ターゲット言語に正しい形式を生成します。
  • インラインHTMLおよび特殊文字 — 文字列にはインラインHTMLタグやエスケープ文字が含まれる場合があります。当社のAIは、ソースファイルとまったく同じようにすべてのマークアップとエスケープを保持します。

JSONローカリゼーションファイルの例 (i18next)

名前空間、補間、複数形の形式キーを示す、実際のi18next互換のJSONローカリゼーションファイルの例を次に示します:

{
  "app": {
    "title": "My Application",
    "description": "A powerful tool for your workflow"
  },
  "auth": {
    "login": "Log in",
    "logout": "Log out",
    "welcome": "Welcome, {{name}}!",
    "itemCount_one": "{{count}} item",
    "itemCount_other": "{{count}} items"
  },
  "errors": {
    "notFound": "Page not found",
    "serverError": "Something went wrong. Please try again."
  }
}

この構造は、i18next、React Intl、next-i18next、ngx-translateと直接互換性があります。同じファイルを、当社のサービスを使用してフランス語、ドイツ語、日本語、またはその他のターゲット言語に翻訳するためのソースとして使用できます。

現代のi18nワークフローにおけるJSON

JSONローカリゼーションファイルは、ほとんどの最新の国際化(i18n)ワークフローの基盤です。この形式の柔軟性は、小規模プロジェクト向けの単純なフラットなキーと値の構造と、何百もの翻訳キーを持つエンタープライズ規模のアプリケーション向けの深くネストされた名前空間階層の両方をサポートしています。

JSONファイルはプレーンテキストであるため、Git、CI/CDパイプライン、翻訳管理プラットフォームなどのバージョン管理システムと自然に統合されます。チームは、L10n.dev REST APIを使用して、新しい文字列の抽出から翻訳済みビルドのデプロイまで、ローカリゼーションパイプライン全体を自動化できます。

ローカリゼーションにJSONを使用するフレームワークとライブラリ

JSON翻訳ファイルは、事実上すべての主要なWebおよびモバイルフレームワークでサポートされています:

  • i18next / react-i18next — 最も広く使用されているJavaScript i18nライブラリ。言語と名前空間ごとに整理されたJSONファイルを使用します(例: public/locales/en/common.json)。補間、複数形、コンテキスト、ネストをすぐにサポートします。
  • next-i18next — Next.jsアプリケーションの標準i18nソリューション。i18nextに基づいて構築されており、public/locales/ディレクトリ内のJSONファイルを使用し、自動ロケール検出によるサーバーサイドレンダリングをサポートしています。
  • Angular (ngx-translate) — 人気のあるngx-translateライブラリはJSON翻訳ファイルを読み込み、Angularアプリケーション用のtranslateパイプとサービスを提供します。アプリをリロードせずに実行時の言語切り替えをサポートします。
  • Vue i18n — 公式のVue.js i18nプラグインはJSONメッセージファイルをサポートしています。JSONは、Vue 3およびNuxt.jsプロジェクトにおけるプログラムによる生成やAPI主導のローカリゼーションワークフローで一般的に推奨されます。
  • Flutter / Dart (ARB) — FlutterのintlパッケージはARBファイル(Application Resource Bundle)を使用します。これはローカリゼーションメタデータを含むJSONファイルです。flutter gen-l10nコマンドは、それらを厳密に型指定されたDartコードにコンパイルします。
  • React Native — React Nativeアプリは、単一の共有リソースからクロスプラットフォームのiOSおよびAndroidローカリゼーションを行うために、JSON翻訳ファイルとともにreact-i18nextまたはi18n-jsを使用します。

JSON翻訳のためのAI用語集生成

当社のAI用語集生成機能は、すべてのJSONローカリゼーションファイル間で一貫した用語を維持するのに役立ちます。翻訳オプションで用語集を生成を切り替えて、保存と再利用を有効にしてください:

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

当社のJSON翻訳サービスが選ばれる理由

  • AI対応ローカリゼーション:当社の高度なAIはJSON構造を理解し、プレースホルダーをシームレスに処理し、ターゲット言語の文化的ニュアンスに合わせて翻訳を適応させます。
  • i18next翻訳:当社のサービスはi18next形式のJSONファイルを完全にサポートしています。複数形の形式の正確な処理、HTMLタグと改行の保持、翻訳の整合性の維持を保証し、ローカリゼーションワークフローに最適です。
  • ロケール固有の調整:数値、日付、その他のロケールに依存するデータを、ターゲット地域の形式に合わせて自動的に変換します。
  • エラー処理:AI翻訳のエラーを検出し修正することで、一貫して高品質な翻訳結果を保証します。
  • 費用対効果:毎月30,000無料文字数で、手頃な価格設定をご利用いただけます。料金を見る
  • 大規模なJSONコンテンツ向けに最適化:大きなJSONファイルを管理可能なチャンクに分割して効率的に処理し、定義済みの用語とコンテキストを使用して翻訳の一貫性を確保します。

JSON翻訳と他のフォーマットの比較

JSON翻訳は、構造を保持しながら特定の言語や地域に合わせてキーと値のペアを適応させることに重点を置いています。当社のサービスは、翻訳されたJSONが有効であり、アプリケーションですぐに使用できる状態であることを保証します。

当社のサービスは、AI対応ローカリゼーションを使用してJSONファイルを翻訳することに重点を置いており、JSONファイルの構造を管理しながら正確性と効率性を確保します。

一般的なJSONローカリゼーションの使用例

JSON翻訳ファイルは、幅広いプロジェクトタイプや開発ワークフローで使用されています:

  • ReactおよびNext.jsアプリケーション — react-i18nextまたはnext-i18nextを使用して、React SPAおよびNext.jsアプリ用にpublic/locales/en/common.jsonやその他の名前空間ファイルを翻訳します。
  • Angularアプリケーション — ngx-translate JSONファイルを翻訳して、Angularエンタープライズダッシュボードやシングルページアプリケーションに多言語サポートを追加します。
  • Vue.js / Nuxt.jsアプリケーション — Vue 3シングルページアプリおよびNuxt.jsサーバーレンダリングサイト用にVue i18n JSONメッセージファイルをローカライズします。
  • React Nativeアプリ — React Nativeとreact-i18nextで構築されたクロスプラットフォームのiOSおよびAndroidモバイルアプリケーション用のJSONローカリゼーションファイルを翻訳します。
  • デスクトップアプリ (Electron) — Electronアプリケーションは、i18nextまたはカスタムローダーを備えたJSONローカリゼーションファイルを使用して、多言語デスクトップソフトウェアを提供します。
  • CI/CDおよび自動化パイプライン — L10n.dev REST APIを使用してJSON翻訳をリリースワークフローに統合し、CI/CDパイプラインの一部としてローカリゼーションを自動化します。
  • ヘッドレスCMSおよび静的サイト — Gatsby、Next.js、またはAstroで構築された多言語静的サイト用に、Contentful、Sanity、StrapiなどのヘッドレスCMSプラットフォームからのJSONコンテンツエクスポートを翻訳します。

重要:JSON内の配列の取り扱い

「新規文字列のみ翻訳」を使用する場合:JSONに(オブジェクトだけでなく)配列が含まれている場合は、ターゲットファイルの配列インデックスがソースファイルのものと一致していることを確認してください。これにより、翻訳の一貫性が保たれます。新しい文字列を追加する場合は、常に配列の末尾に追加してください。

例:

// ✅ CORRECT: New items added at the end
// source.json
["Apple", "Banana", "Orange"]

// target.json (existing)
["Manzana", "Plátano"]

// After translation (new item appended)
["Manzana", "Plátano", "Naranja"]
// ❌ INCORRECT: Items inserted in the middle
// This will cause misalignment!
["Apple", "Cherry", "Banana", "Orange"]

(i18nで推奨される)オブジェクトベースのJSON構造の場合、翻訳はキー名で照合されるため、この点は問題になりません。

よくある質問

JSON翻訳中に何が保持されますか?

すべてのJSONキー、構造的なネスト、補間プレースホルダー({{variable}}{variable})、インラインHTMLタグ、エスケープ文字、および複数形のキーサフィックスは保持されます。人間が読める文字列の値のみが翻訳されます。

{{name}}のような補間プレースホルダーはそのまま維持されますか?

はい。当社のAIは、i18next({{variable}})、React Intl({variable})、Vue i18n({variable})などで使用される一般的な補間形式をすべて自動的に検出し、保持します。プレースホルダーの名前と構文は、ソースファイルと完全に同じままです。

深くネストされたJSON構造をサポートしていますか?

はい。当社のサービスは、任意の深さのJSONネストを処理します。各文字列値は階層パスを認識した状態で翻訳され、出力されるJSONは入力ファイルとまったく同じ構造を維持します。

i18nextの複数形の形式はどのように処理されますか?

当社のAIはi18nextの複数形キーサフィックス(_one_other_zero_few_many)を認識し、ターゲット言語に適した複数形の形式を生成します。ポーランド語やアラビア語のような言語に翻訳する場合、必要なすべての複数形の形式のエントリが自動的に作成されます。

JSONファイルが非常に大きい場合はどうすればよいですか?

非常に大きなJSONファイル(数百キロバイト以上)の場合は、i18nファイル翻訳ページのご利用をお勧めします。このページでは最大5 MBまでのファイルアップロードをサポートしており、大容量コンテンツのより確実な配信が可能で、複数のターゲット言語へ一度に翻訳できます。