您的位置:首页 > 其它

【软件多国语言】一个demo

2014-12-01 00:00 218 查看
之前上学的时候做过一个东西,需要中英文软件界面,并且需要随时可以切换,当时是师妹来做的,用的最直接也是最笨的办法, what?

if(中文)

{

button1.Text = "花姑娘";

}

else

{

  button1.Text = "flower girl";

}

网上的解决方案一般是用资源DLL,即写一个控制台项目--DLL,在里面添加stringTable资源,做中英文两个DLL,其中的IDS_XX是相同的,每个IDS_XX对应一个词的中英文版,

例如英文版的IDS_BTN_PLAY-----101-----“PLAY”,

中文版的IDS_BTN_PLAY-----101-----"播放",

依此类推

用的时候用一个标记来表示当前的语言,然后如下:

1 //英文  2 if(TRUE != m_bIsEnglish)  3 {  4 if(m_hLanguage != NULL)  5  {  6  FreeLibrary(m_hLanguage);  7  }  8  9 m_hLanguage = LoadLibrary(_T("English.dll")); 10 11 const int MAX = 100; 12 LPTSTR lpBuffer = new TCHAR[MAX]; 13 ZeroMemory(lpBuffer, MAX * sizeof(TCHAR)); 14 15  LoadString(m_hLanguage, IDS_BTN_PLAY, lpBuffer, MAX);

//使用时需要按照DLL资源定义该IDS_XX

16 17  SetDlgItemText(IDC_BTN_PLAY, lpBuffer); 18 19 m_bIsEnglish = TRUE; 20 21  delete[] lpBuffer; 22 23 lpBuffer = NULL; 24 25 }


如果是中文则类似,不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: