トランスレーターを使用した辞書の管理 using-translator-to-manage-dictionaries

AEMには、コンポーネント UI で使用されるテキストの様々な翻訳を管理するためのコンソールが用意されています。 このコンソールの入手先

https://<hostname>:<port-number>/libs/cq/i18n/translator.html

トランスレーターツールを使用して、英語の文字列とその翻訳を管理します。辞書はリポジトリ(例:/apps/myproject/i18n)に作成されます。

トランスレーターツールと管理する辞書は、様々な言語でコンポーネント UI を表示するためのものです。 ページまたはユーザー生成コンテンツを翻訳する場合は、 多言語サイトのコンテンツの翻訳 および ユーザー生成コンテンツの翻訳.

CAUTION
自身のプロジェクト用に作成された、/apps の下にある辞書のみを編集してください。
このツールでは、AEMシステム辞書も使用できます。 AEMシステム辞書を変更しないでください。変更するとAEM UI に問題が発生する可能性があります。 また、アップグレード時に変更内容が失われる場合もあります。 AEM システム辞書は /libs の下にあります。
NOTE
トランスレーターツールのインターフェイスはクラシック UI ですが、フレーズが見つかったインターフェイスに関係なくそのフレーズの翻訳に使用されます。

トランスレーターでは、AEM で使用されるテキストと様々な言語の翻訳が横並びになってリストされます。

chlimage_1-205

英語および翻訳済みテキストの検索、フィルタリング、編集が可能です。 辞書を翻訳用に XLIFF 形式に書き出し、翻訳を再度辞書に読み込むこともできます。

このコンソールから翻訳プロジェクトに i18n 辞書を追加することもできます。 1 つを作成するか、既存のプロジェクトに追加することができます。

  1. クリック 辞書を翻訳.

    chlimage_1-206

  2. 必要に応じて、「作成」または「追加」オプションを選択します。 ダイアログが表示されます。

    chlimage_1-207

  3. 必要に応じてフィールドに入力し、「OK」をクリックします。 chlimage_1-208

  4. OK」をクリックするか、ターゲット辞書を表示することができます。

    note note
    NOTE
    翻訳プロジェクトについて詳しくは、 翻訳プロジェクトの管理.

辞書の作成 creating-a-dictionary

ローカライズされた UI 文字列を管理する辞書を作成します。 辞書を作成した後は、翻訳ツールを使用して管理できます。

  1. CRXDE Lite を使用して、新しい辞書のルートノード(sling:Folder)を追加します。これは、言語定義を保持する構造です。

    /apps/<projectName>/i18n

    例:/apps/myProject/i18n

  2. このルートの下に、必要な言語構造を追加します。 次に例を示します。

    code language-shell
    /apps/myProject/i18n [sling:Folder]
        - de.json [nt:file] [mix:language]
            + jcr:language = de
        - fr.json [nt:file] [mix:language]
            + jcr:language = fr
    
    note note
    NOTE
    これは Sling i18n モジュールの構造です。
  3. トランスレーターと辞書のパスを再読み込みします ( 例: /apps/myProject/i18n) がツールバーのドロップダウンセレクターに表示されます。 このパスを選択して、文字列とその翻訳の追加を開始します。

    note note
    NOTE
    トランスレーターは、実際にパスの下に存在する言語 ( 例えば、 /apps/myProject/i18n) をクリックします。
    これらがグリッドに表示される言語に対応していることを確認してください。

辞書文字列の管理 managing-dictionary-strings

辞書内の文字列を管理するには、翻訳ツールを使用します。 英語の文字列を追加、変更、削除したり、翻訳文字列を指定したりできます。

CAUTION
自身のプロジェクト用に作成された、/apps の下にある辞書のみを編集します。
AEMシステム辞書を変更しないでください。変更するとAEM UI に問題が発生する可能性があります。 また、アップグレード時に変更内容が失われる場合もあります。 AEM システム辞書は /libs の下にあります。

文字列の追加、変更、削除 adding-changing-and-removing-strings

コンポーネントが国際化する辞書に英語の文字列を追加します。 使用されていない文字列を翻訳してリソースを無駄にしないように、国際化された文字列のみを追加します。

辞書に追加する文字列は、コードで指定されている文字列と完全に一致する必要があります。 コードで使用されるデフォルトの英語文字列が辞書の英語文字列と一致しない場合、必要に応じて、翻訳後の文字列が UI に表示されません。 文字列では大文字と小文字が区別されます。

翻訳のヒントの指定

辞書の文字列の Comment プロパティを使用して、文字列の意味を明確にするための情報をトランスレーターに提供します。 通常、UI は、ユーザーが曖昧な単語の意味を特定するのを支援します。 ただし、トランスレーターは、UI のコンテキスト内に文字列を表示しません。 翻訳のヒントによって、曖昧さが取り除かれます。 例えば、Request という英単語が動詞ではなく名詞として使用されていることをコメントによって明確にします。

翻訳のヒントは、同一で意味が異なる文字列を区別します。 例えば、Search という単語は名詞または動詞にすることができ、辞書に 2 つの"Search"エントリを必要とし、異なる翻訳ヒントが 2 つ含まれています。 UI で正しい文字列を使用するために、文字列をリクエストするコードに翻訳のヒントも含まれます。

インデックス付き変数を含める

ローカライズされた文字列に変数を含めて、文にコンテキスト上の意味を作成します。 例えば、Web アプリケーションにログインした後、ホームページに「Welcome back Administrator.受信トレイに 2 通のメッセージがあります。」 ページコンテキストによって、ユーザー名とメッセージ数が決まります。

ローカライズされた文字列に変数を含めるには、get メソッドの最初の引数の変数の場所に、括弧で囲んだインデックスを置きます。翻訳のヒントを使用して値を説明します。言語によって使用する文の構造が異なるので、トランスレーターは変数の意味を理解する必要があります。

翻訳された文字列を要求するコードは、 コンテキストに従ってインデックス付き変数の値を指定します。

例えば次の文字列は、ユーザーが Web サイトにログインしたときに表示されるもので、辞書に含まれています。

Welcome back {0}. You have {1} messages.

次のコメントが変数の説明です。

{0} = the user name, {1} = the number of items in the user's inbox

文字列の変更

英語の文字列がコード内で変更または削除される際に、文字列を変更または削除します。 文字列を変更すると、元の文字列が保持され、変更を反映する新しい文字列が作成されます。 文字列を削除する前に、使用するコードがないことを確認します。

次の手順を使用して、文字列を追加します。

  1. Dictionaries ドロップダウンメニューで、文字列を追加する辞書を選択します。 ドロップダウンメニューでは、辞書はリポジトリ内のパスで表されます。

  2. 「Strings and Translations(文字列と翻訳)」テーブルの上にある「追加」をクリックします。

    chlimage_1-209

  3. [ 文字列の追加 ] ダイアログボックスの [ 文字列 ] ボックスに、英語の文字列を入力します。 必要に応じて、「コメント」ボックスにトランスレーターの翻訳のヒントを入力します。

  4. 「OK」をクリックします。

  5. 「保存」をクリックします。

    chlimage_1-210

辞書内の文字列を変更するには、次の手順を実行します。

  1. Dictionaries ドロップダウンメニューで、変更する文字列が含まれている辞書を選択します。

  2. 変更する文字列をダブルクリックします。

  3. [ 文字列を編集 ] ダイアログボックスで、[ 文字列を変更 ] または [ コメント(コピーを作成)] を選択します。

    chlimage_1-211

  4. 文字列またはコメントを変更し、「OK」をクリックします。

  5. 「保存」をクリックします。

    chlimage_1-212

辞書から文字列を削除するには、次の手順を実行します。

  1. Dictionaries ドロップダウンメニューで、文字列を削除する辞書を選択します。

  2. 「削除」をクリックします。

    chlimage_1-213

  3. 「保存」をクリックします。

    chlimage_1-214

文字列の検索 searching-for-strings

Translator ツールの下部にある検索バーには、文字列選択オプションが表示されます。

  • テキストでフィルター: ​英語の文字列、コメントまたは翻訳と照合するパターン。パターンの全体または一部に一致する項目のみがテーブルに表示されます。

  • 変更:いずれか、変更済み、新規、削除: ​変更されてまだ保存されていない項目を表示します。

    • 任意:変更、追加、または削除された項目を表示します。
    • 変更済み:変更された項目を表示します。
    • 新規:追加された項目を表示します。
    • 削除済み:削除する項目を表示します。
    • 複数選択:選択したすべてのプロパティを持つ項目を表示します。
  • コメントあり:翻訳者向けのコメントを含む項目を表示します。

  • 翻訳の欠落:
    少なくとも 1 つの言語の翻訳が欠落している項目を表示します。

chlimage_1-215

  1. 検索バーで、フィルターオプションを選択します。
  2. オプションを使用してフィルターするには、「フィルター」をクリックします。
  3. フィルターを削除し、辞書内のすべての項目を表示するには、[ クリア ] をクリックします。

翻訳済み文字列の編集 editing-translated-strings

英語の文字列を辞書に追加した後で、その文字列の翻訳を追加できます。 また、 辞書を書き出す 第三者に翻訳してもらう

  1. 選択 プロジェクト固有の辞書 翻訳を保持するリポジトリ内のパスを指定します。 例えば、「 辞書 形式:

    /apps/myProject/i18n

    note caution
    CAUTION
    自身のプロジェクト用に作成された、/apps の下にある辞書のみを編集してください。
    このツールでは、AEMシステム辞書も使用できます。 AEMシステム辞書を変更しないでください。変更するとAEM UI に問題が発生する可能性があります。 また、アップグレード時に変更内容が失われる場合もあります。 AEM システム辞書は /libs の下にあります。
  2. いずれかの文字列の翻訳されたテキストを編集するには、次のどちらかの手順を使用します。

    • 必要な文字列の適切な言語をダブルクリックして、その単一のテキストを編集します。

    chlimage_1-216

    • 次をダブルクリックします。 文字列 または コメント 必要な文字列を開くためのフィールド 文字列を編集 ダイアログで、必要に応じて翻訳を編集し、 OK ダイアログを閉じるには:

    chlimage_1-217

  3. ツールバーの「保存」をクリックして変更をコミットします。

    note note
    NOTE
    保存」の代わりに「リセットして更新」をクリックすると、以前のテキストに対する変更がすべて元に戻ります。

サードパーティ翻訳者の使用 using-third-party-translators

サードパーティの翻訳サービスの使用をサポートするために、翻訳ツールを使用して辞書の書き出しと読み込みをおこなうことができます。

辞書の書き出し exporting-a-dictionary

サードパーティのサービスが辞書の文字列を翻訳できるように、辞書を XLIFF ファイルに書き出します。

  • 辞書を書き出し、英語と翻訳された用語を特定の言語用に含めます。
  • 英語の文字列のみの一部またはすべてを書き出します。

XLIFF ファイルを書き出して言語を含める場合、リポジトリ内の辞書のノード構造にその言語を含める必要があります。 言語が含まれていない場合、エラーが発生します。 例えば、フランス語の XLIFF ファイルを書き出す場合、辞書のフォルダーには mix:language という名前の fr 子ノードが含まれている必要があります(辞書の作成を参照)。

次の手順を使用して、特定の言語の XLIFF ファイルを書き出します。

  1. トランスレーターツール http://<host>:<port>/libs/cq/i18n/translator.html を開く

  2. 「辞書」ドロップダウンメニューを使用して、書き出す辞書を選択します。

  3. 書き出し/完全に書き出しをクリックします。 XX Xliff オプション、ここで XX は、DE や FR などの 2 文字の言語コードです。

    新しいタブまたはウィンドウで XLIFF ファイルが開きます。

  4. Web ブラウザーのコマンドを使用して、ファイル/名前を付けて保存など、ページをファイルシステムにファイルとして保存します。

次の手順を使用して、英語の文字列のみのすべてまたは一部をエクスポートします。

  1. トランスレーターツールを開きます。http://<host>:<port>/libs/cq/i18n/translator.html
  2. 「辞書」ドロップダウンメニューを使用して、書き出す辞書を選択します。
  3. 文字列のサブセットを書き出す場合は、書き出す辞書内の項目を選択します。 項目を選択しない場合は、すべての項目が書き出されます。
  4. 書き出し/選択項目を Xliff(文字列のみ)として書き出しをクリックします。
  5. 表示されるダイアログボックスで、テキストをコピーし、テキストファイルに貼り付けます。

辞書の読み込み importing-a-dictionary

XLIFF ファイルを辞書に読み込んで、辞書に入力します。 辞書に英語の文字列の翻訳が含まれ、XLIFF ファイルに同じ文字列の異なる翻訳が含まれている場合、辞書の翻訳が置き換えられます。

  1. トランスレーターツール http://<host>:<port>/libs/cq/i18n/translator.html を開く
  2. 読み込み/XLIFF 翻訳をクリックします。
  3. インポートするファイルを選択し、「OK」をクリックします。

サポート対象言語の管理 managing-supported-lanuages

翻訳ツールがサポートし、Web ページのユーザーに提供する言語を追加または削除します。

辞書テーブルに一覧表示される言語の変更 changing-languages-listed-in-the-dictionary-table

トランスレーターツールの辞書テーブルには、次の言語が含まれています。

  • de - ドイツ語
  • fr - フランス語
  • it - イタリア語
  • es - スペイン語
  • ja - 日本語
  • pt-br — ポルトガル語(ブラジル)
  • zh-cn — 簡体字中国語
  • zh-tw — 繁体字中国語(限定的なサポート)
  • ko-kr — 韓国語

次の手順を使用して、言語を追加または削除します。

  1. CRXDE Liteを使用して、ノードを作成します。

    /etc/languages

  2. このノードでプロパティを作成します。

    • 名前languages

    • Multi-String

    • :表示する言語のリスト。 次に例を示します。

      • fr
      • es
    note note
    NOTE
    言語コードは小文字で指定する必要があります。
  3. CRXDE Lite で「すべて保存」をクリックして、トランスレーターを再読み込みします。定義された言語を表示するようにグリッドが更新されます。

    note note
    NOTE
    トランスレーターは、実際には 辞書に載る ( つまり、辞書のパスの下に /apps/myProject/i18n) をクリックします。
    これらがグリッドに表示される言語に対応していることを確認してください。

作成者が言語を使用できるようにする making-languages-available-to-authors

AEM インスタンスで新しい言語の辞書を定義したら、作成者がその言語を選択できるようにする必要があります(環境設定 ​で使用する場合など)。

  1. セキュリティ ​コンソールの​ 環境設定 ​で使用可能な言語のリストを変更するには、次の手順を実行します。

    1. アプリケーションコードに次のコードのオーバーレイを作成します。

      code language-none
              /libs/cq/security/widgets/source/widgets/security/Preferences.js
       and update as required.
      
  2. Web サイト ​コンソールから、環境設定 ​で言語を使用できるようにするには、アプリケーションで次の変更をおこなう必要があります。

    1. 次の場所にある構造のオーバーレイを作成します。

      /libs/cq/security/content/tools/userProperties

    2. オーバーレイ内で、次の場所にある言語のリストを更新します。

      items/common/items /lang/options

  3. すべてを保存し、適切なコンソールをリロードします。

言語名とデフォルトの国の変更 changing-language-names-and-default-countries

様々な国が同じ言語を使用しています。例えば、米国、英国、オーストラリアはすべて英語を使用しています。 これは、en_USen_GBen_AU のように、言語と国の両方を示すコードで示されます。

フラグの表示時には、デフォルトの国が使用されます(例えば、言語コピーダイアログで)。言語コードの国を解決するために使用されます。

NOTE
上記のトランスレーターで管理されるローカライゼーションの場合、正確な言語のみが機能します。 言語の環境設定ドロップダウンで en_uk、必ず en_uk 辞書をリポジトリ内に追加します。

デフォルトの定義を変更するには:

  1. 言語リストは次の場所に格納されます。

    /libs/wcm/core/resources/languages

    このリストを次の場所にコピーしてオーバーレイします。

    /apps/wcm/core/resources/languages

    次に、ここにあるリストを変更または拡張します。プロパティ defaultCountry 言語ノード ( 例: ja) には、次のような完全なコードを含める必要があります。 ja_jpを定義します。 jp 言語のデフォルトの国 ja.

  2. CQ WCM 言語マネージャー ​を更新します。

    • 言語リスト

      リポジトリ内の言語リストのパス。オーバーレイに使用する場所に設定するには:

      code language-none
             /apps/wcm/core/resources/languages
      

    OSGi Web コンソールを使用してこれを実行できます。

    code language-shell
    https://<hostname>:<port-number>/system/console/configMgr/com.day.cq.wcm.core.impl.LanguageManagerImpl
    

辞書の公開 publishing-dictionaries

辞書をAEMアプリケーションのリリース管理プロセスに組み込みます。 例えば、パブリッシュインスタンスにデプロイするために、アプリケーションのコンテンツパッケージに辞書を含めます。 この方法には次のような利点があります。

  • 辞書は、コンポーネントのパブリッシュ環境で使用できます。
  • コンポーネントの UI 文字列に対する変更は、更新された翻訳と共にデプロイされます。

同様に、辞書の文字列のテストが、通常のソフトウェア開発ライフサイクルの一環として実行されます。

NOTE
辞書には通常の公開機能やレプリケーションを使用しないでください。 その代わり、辞書をコードや設定と同じように扱うようにしてください。これには、ソースコントロールを使用して変更をトラックすることや、コンテンツパッケージを使用してオーサーとパブリッシュに変更を適用することが含まれます。
NOTE
Dispatcher を使用する場合は、キャッシュされたページを無効にして、新しい辞書の文字列をレンダリングされたコンポーネント文字列に含める必要があります。
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2