i18nファイル翻訳
ソースファイル:
ZIPアーカイブまたは個別のファイル(JSON、JSONC、XML、YAML、ARB、PO/POT、XLIFF、Properties、CSV/TSV、MD、TXT)を受け入れます。最大サイズは5MBです。
ソース言語: 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)を選択します。1つ以上のターゲット言語(例: 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 — Webアプリケーションで最も人気のある形式。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のApplication Resource Bundle形式。ローカリゼーションメタデータを含むJSONベースの形式です。flutter gen-l10nによってコンパイルされる、FlutterおよびDartアプリのローカリゼーション標準です。
  • Properties — Javaのネイティブローカリゼーション形式。Spring Boot、Android(レガシー)、およびResourceBundleを使用するエンタープライズJavaアプリケーションで使用されます。

増分更新: 新規文字列のみ翻訳

当社のi18nファイル翻訳サービスの最も強力な機能の1つは、増分更新です。これは、既にローカライズされているコンテンツを再翻訳することなく、新規または変更された文字列のみを翻訳する機能です。これにより、積極的に開発されているプロジェクトの翻訳コストと処理時間が大幅に削減されます。

増分更新を使用するには、各言語のソースファイルと既存のターゲットファイルの両方をアップロードします。当社のシステムは両方のファイルに存在するキーを比較し、ターゲットに不足している文字列のみを翻訳します。これは、スプリントやリリースごとに新しい文字列が追加される継続的な開発サイクルにおいて特に価値があります。

増分更新でサポートされている形式は上記の表に記載されています。その他の形式の場合でも、ターゲットファイルをアップロードすることは用語集のコンテキストとして役立ち、翻訳実行全体で一貫した用語を確保できます。

i18nファイル翻訳の一般的な使用例

当社のi18nファイル翻訳サービスは、最新のローカリゼーションシナリオの全範囲を処理します:

  • Webアプリケーションのローカリゼーション: 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ファイルを翻訳し、多言語ドキュメントWebサイトを提供します。
  • WordPressおよびPHPプロジェクト: WordPressテーマやプラグイン、Symfonyアプリケーション、およびgettextベースのローカリゼーションを使用するその他のPHPベースのプロジェクト用のPO/POTファイルを翻訳します。
  • Angularアプリケーション: Angularの組み込み国際化システム用にng extract-i18nによって生成されたXLIFF 1.2および2.0ファイルを翻訳します。
  • エンタープライズおよび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)をサポートしています。ファイルは個別に、または最大5MBのZIPアーカイブとしてアップロードできます。

一度に複数の言語に翻訳できますか?

はい。1つのジョブで複数のターゲット言語を追加できます。当社のサービスはすべての言語ペアを処理し、言語コードごとに整理されたZIPアーカイブ(例: fr/, de/, ja/)に結果をパッケージ化します。

「新規文字列のみ翻訳」はどのように機能しますか?

各言語のソースファイルと、既存の翻訳が含まれているターゲットファイルをアップロードします。当社のシステムはソースには存在するがターゲットには不足している文字列を特定し、それらのみを翻訳します。これにより、既に支払い済みのコンテンツの再翻訳を回避し、手動編集の上書きを防ぎます。

最大ファイルサイズはどれくらいですか?

最大アップロードサイズは、ファイルまたはZIPアーカイブごとに5MBです。非常に大規模なプロジェクトの場合は、名前空間ごとにファイルを分割するか、複数のジョブをアップロードすることを検討してください。このページでジョブの進捗状況をリアルタイムで監視し、完了したすべてのジョブに「ファイル」ページからアクセスできます。

ファイルの名前空間はどのように機能しますか?

異なる言語フォルダにある同じ名前のファイルは、同じ名前空間として扱われます(例: /en/common.json/fr/common.json)。名前が異なるファイルは、別の名前空間として扱われます。正しい文字列照合を確実にするために、すべての言語フォルダで一貫したファイル名を使用してください。