ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites開発者ガイド
11gリリース1 (11.1.1.8.0)
E49681-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

82 Community-Gadgets: 機能のローカライズ

この章では、Community-Gadgetsの機能を複数の言語に翻訳可能にする方法について説明します。

この章には次の項が含まれます。

82.1 ローカライズについて

Community-Gadgetsのユーザー・インタフェースはデフォルトで、英語、フランス語、ドイツ語、イタリア語、日本語、韓国語、ポルトガル語、スペイン語、簡体字中国語、繁体字中国語に翻訳できます。さらに、必要に応じて既存のラベルや翻訳を新しい言語にカスタマイズすることもできます。

言語パックは、Community-Gadgets Webアプリケーションのファイル・システム(cg.war/WEB-INF/classes/i18n_resources)にあります。

図82-1 言語パック

図82-1の説明が続きます
「図82-1 言語パック」の説明

i18n_resourcesディレクトリには2つのサブフォルダserverおよびwidgetsがあり、それぞれにCommunity-Gadgetsインタフェースのリソース、およびクライアント側のウィジェットのリソースが含まれています。

serverディレクトリには、コミュニティ・アプリケーションのサブシステムに基づいて区切られたJavaプロパティ・リソース・バンドルのリストが含まれます。corecos-resourcesgadgets, gadgets-exception, servicesharedusersの各サブシステムのローカライゼーションが含まれます。

widgetsディレクトリには、各フォルダを特定のウィジェットに対応付けるフォルダのリストが含まれます。たとえば、wsdk.commentsフォルダはコメント・ウィジェットに対応付けられ、wsdk.reviewsフォルダはレビュー・ウィジェットに対応付けられます。

cos.commonsディレクトリには、すべてのウィジェットで共有されるリソースがあります。Communityインタフェースと、Webサイトにデプロイされるウィジェットでは、必要な言語を選択するためのロジックが異なります。次の項では、2つのロジックのタイプを優先度の高い順に説明します。

82.1.1 Community-Gadgetsインタフェースの言語検出

  1. ログインしているビジネス・ユーザーのWebエクスペリエンス管理(WEM)プロファイルで言語がカスタマイズされている場合は、それを適用します。それ以外の場合は、次の手順に進みます。

  2. ブラウザのロケールがサポートされている場合は、この設定を適用します。それ以外の場合は、次の手順に進みます。

  3. デフォルトのEnglishロケールを適用します。

82.1.2 Community-Gadgetsの言語検出

この項で説明する言語検出ロジックは、Community-Gadgets側のすべてのウィジェットに適用されます。

次の1番目と2番目の手順は、Webサイトにすでに、サイト・コンテンツを異なる言語で表示するためのいくつかの言語選択メカニズムがあることを前提としています。たとえば、大半のサイトには、この目的でサイトの上部または下部に言語アイコンがあります。このメカニズムが言語選択にCookieまたはJavaScript変数を使用する場合は、Communityウィジェットもクライアントの同意を得た後にそれらを使用できます。サイト開発者は、cos_language CookieまたはJavaScript変数と言語値の作成を可能にすることで、言語選択メカニズムをカスタマイズできます。これが実行されると、Communityウィジェットはクライアントの言語選択メカニズムを使用して、サイト・コンテンツを異なる言語で表示できます。

  1. cos_language Cookieによって提供される言語パラメータを使用します(これはサイトの開発者が手動で指定します)。

    Cookieが設定されていない場合は、次の手順に進みます。

  2. JavaScriptのグローバル変数cos_languageの言語パラメータを使用します(これはサイトの開発者またはインテグレータが手動で指定できます)。

    変数が設定されていない場合は、次の手順に進みます。

  3. 管理者がCommunityインタフェースの「設定」「言語」で選択したデフォルトの言語設定を使用します(図82-2)。

    この設定は、サイトにデプロイされたすべてのタイプのウィジェットに適用されます。

    図82-2 Community-Gadgetsの言語設定

    図82-2の説明が続きます
    「図82-2 Community-Gadgetsの言語設定」の説明

82.2 Community-Gadgetsへの新しい言語の追加

新しい言語を追加するには、次の手順を実行します。

  1. Community-Gadgetsの構成(第82.3項「Community-Gadgetsへの新しい言語の登録」を参照)のリストに新しい言語を追加して、その言語がCommunityインタフェースのデフォルト言語セレクタに表示されるようにします。

  2. cg.war/WEB-INF/classes/i18n_resources/<subfolders containing translation files>内にあるすべてのリソースの翻訳をアップロードします。つまり、このディレクトリ内のすべての*_en.propertiesファイルを翻訳し、翻訳されたファイル(たとえば、ロシア語の場合、*_ru.propertiesというファイルになる)をコピーして戻します。

82.3 Community-Gadgetsへの新しい言語の登録

Community-Gadgetsの構成に新しい言語を登録するには:

  1. cg.war/WEB-INF/libディレクトリに移動します。

  2. cos-shared-11.1.1.8.0.jarファイルを開き、cos_core_metadata.xmlファイルを抽出します。

  3. schema::cos::commons:permissions:languageという文字列を検索します。この宣言は次のとおりです。

    <bean id="language" class="com.fatwire.cos.metadata.core.model.MetadataDescriptorImpl">
         <property name="uid"   
                            value="schema::cos::commons:permissions:language"/>
         <property name="name" value="label.language"/>
         <property name="defaultValue" value="en_US"/>
          <property name="dataOptionsValue" value="[
    { name: 'label.language.english', value:'en_US'},
    { name: 'label.language.brazilian_portuguese', value:'pt_BR'}, 
    { name: 'label.language.chinese_simplified', value:'zh_CN'}, 
    { name: 'label.language.chinese_traditional', value:'zh_TW'},
    { name: 'label.language.french', value:'fr'},
    { name: 'label.language.german', value:'de'}, 
    { name: 'label.language.italian', value:'it'}, 
    { name: 'label.language.japanese', value:'ja'},
    { name: 'label.language.korean', value:'ko'},
    { name: 'label.language.spanish', value:'es'},
    <ADD COMMA AND INSERT NEW LANGUAGE HERE>
    ]"/>
                                          …
    </bean>
    
  4. dataOptionsValueプロパティに、新しい言語用の新しいJSONオブジェクトを追加します。たとえば、ロシア語の場合は次のようなエントリになります。

    { name: 'label.language.russian', value:'ru'}
    

    ロシア語のエントリが追加された後のプロパティ値は次のようになります。

    <property name="dataOptionsValue" value="[
    { name: 'label.language.english', value:'en_US'},
    { name: 'label.language.brazilian_portuguese', value:'pt_BR'}, 
    { name: 'label.language.chinese_simplified', value:'zh_CN'},
    { name: 'label.language.chinese_traditional', value:'zh_TW'},
    { name: 'label.language.french', value:'fr'}, 
    { name: 'label.language.german', value:'de'}, 
    { name: 'label.language.italian', value:'it'}, 
    { name: 'label.language.japanese', value:'ja'},
    { name: 'label.language.korean', value:'ko'}, 
    { name: 'label.language.spanish', value:'es'}
    { name: 'label.language.russian', value:'ru_RU'} ]"/>
    
  5. cos_core_metadata.xmlファイルを保存し、この改訂されたファイルをcos-shared-11.1.1.8.0.jarファイルに含めます。

  6. i18n_resources/server/cos-resources_<LANG>.propertiesのリソース・バンドルに移動し、label.langauge.russianというキーと、サポートされている各言語の翻訳値を追加します。

    それぞれのcos-resourcesファイル(cos-resources.propertiescos-resources_de.propertiescos-resources_es.propertiescos-resources_fr.propertiescos-resources_it.propertiesなど)に、言語ラベルのセットが含まれています。次に示すのはcos-resources_en.propertiesの例です。

    label.language.english = English
    label.language.brazilian_portuguese = Brazilian Portuguese
    label.language.chinese_simplified = Simplified Chinese
    label.language.chinese_traditional = Traditional Chinese
    label.language.french = French
    label.language.german = German
    label.language.italian = Italian
    label.language.japanese = Japanese
    label.language.korean = Korean
    label.language.spanish = Spanish
    

    パラメータ名(たとえば、label.language.russian)およびパラメータ値(たとえば、Russian for cos-resources_en.properties)を含む新しい行を追加します。

    label.langauge.russian=Russian
    

    label.langauge.russiancos-resources_en.propertiesの値は異なります(cos-resources_de.propertiesの場合はRussischecos-resources_fr.propertiesの場合はRusseになる)。

    つまり、次のように指定します。

    label.langauge.<lang_id>=<value_translation>
    
  7. i18n_resourcesディレクトリ内で再帰的に検索したすべてのリソース・バンドルについて、対応する言語接尾辞を持つ同じフォルダ内の翻訳ファイルをアップロードします。たとえば、i18n_resources/server/users.propertiesという名前のディレクトリでは、英語パック用のロシア語翻訳を見つけることができます。したがって、i18n_resources/server/ディレクトリにはRussian: users_ru_RU.propertiesの翻訳ファイルをアップロードします。

  8. Community管理アプリケーション用のアプリケーション・サーバーを再起動します。

  9. 新しい言語表示を確認するには、Communityに管理者としてログインし、「設定」メニューから「言語」を選択します。