【软件多国语言】一个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-----"播放",
依此类推
用的时候用一个标记来表示当前的语言,然后如下:
如果是中文则类似,不再赘述。
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 }
如果是中文则类似,不再赘述。
相关文章推荐
- 【软件多国语言】一个demo
- [软件人生]程序员与语言选择——给一个刚毕业的大学生工作方向的分析对话
- 写了一个winform 多国语言切换的助手组件类 推荐
- 水煮丫 多国语言翻译小软件
- 龙龙记单词V1.0——多国语言单词背诵辅助软件
- 图形化编程软件 sikuli dragDrop()函数使用拖动 滑动条slider 的一个 demo
- 开始做一个幼儿语言软件(2005-05-08)
- HTML语言的应用,采用Dream Weaver软件快速的开发一个静态网页
- App-V软件排序参考之(二):Office 2007英文版+多国语言包(2)
- App-V软件排序参考之(二):Office 2007英文版+多国语言包 (1) 推荐
- 下载量高达163万的易语言牛人写的一个超牛的软件(即将删除)
- 易语言启动一个软件
- 精通语言不等于是一个好的软件开发人员
- 【转】精通语言不等于是一个好的软件开发人员
- 一个好的软件开发人员不仅仅是精通语言
- 下载量高达163万的易语言牛人写的一个超牛的软件(即将删除)
- 一个好软件开发人员不仅仅是精通语言
- 精通语言不等于是一个好的软件开发人员
- 一个支持多国语言的时间框架
- 用最简单有效的办法实现Winform的全球化多国语言版本软件