Symbian C++のローカライズされたアプリケーション文字列


  • 詳細説明
  • このインスタンスコードは、アプリケーションのテキスト文字列をローカライズする方法を説明し、変更例は自己署名で実行できます.
  • ステップ
  • 1、data[app]を生成する.rlsファイル
    2、ローカライズ情報を書き込む
    #ifdef LANGUAGE_SC          // Default: UK English
     
    #include "app_loc.l01"
     
    #elif defined LANGUAGE_01   // UK English
     
    #include "app_loc.l01"
     
    #elif defined LANGUAGE_09   // Finnish
     
    #include "app_loc.l09"
     
    #endif

    3、関連ファイル(data[app]_loc.l 01やdata[app]_loc.l 09など)に異なるローカライズ文字列の内容を追加する
    // Strings in data\[app]_loc.l01:
     
    rls_string STRING_r_localized_text "Localized text."
    rls_string STRING_r_localized_string_param "Localized string parameter: %U."
    rls_string STRING_r_localized_number_param "Localized number parameter: %N."
     
    // Strings in data\[app]_loc.l09:
     
    rls_string STRING_r_localized_text "Kotoistettu teksti."
    rls_string STRING_r_localized_string_param "Kotoistettu merkkijonoparametri: %U."
    rls_string STRING_r_localized_number_param "Kotoistettu numeroparametri: %N."
    

    4、data[app].rssでのリソース情報の生成
    RESOURCE TBUF r_localized_text { buf=STRING_r_localized_text; }
    RESOURCE TBUF r_localized_string_param { buf=STRING_r_localized_string_param; }
    RESOURCE TBUF r_localized_number_param { buf=STRING_r_localized_number_param; }

    5、StringLoaderを使用してリソース文字をロードしてフォーマットする
    #include <stringloader.h>
     
    HBufC* resLocalizedText = StringLoader::LoadLC(R_LOCALIZED_TEXT);
    // Use resLocalizedText
    CleanupStack::PopAndDestroy(resLocalizedText);
     
    _LIT(KString, "A string");
    HBufC* resLocalizedStringParam = StringLoader::LoadLC(R_LOCALIZED_STRING_PARAM, KString);
     
    // Use resLocalizedStringParam
    CleanupStack::PopAndDestroy(resLocalizedStringParam);TInt number = 34;
     
    HBufC* resLocalizedNumberParam = StringLoader::LoadLC(R_LOCALIZED_NUMBER_PARAM, number);
    // Use resLocalizedNumberParam
     
    CleanupStack::PopAndDestroy(resLocalizedNumberParam);

    6、LANGマークをgroup[app]に挿入する.mmpファイル内
    LANG            SC 01 09