`
svyee
  • 浏览: 23026 次
  • 性别: Icon_minigender_1
  • 来自: 福建
最近访客 更多访客>>
社区版块
存档分类
最新评论

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.l01和data\[app]_loc.l09)

// 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
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics