如何使用/ load .rc文件进行多语言应用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用/ load .rc文件进行多语言应用?相关的知识,希望对你有一定的参考价值。
我正在使用Visual ++中的VC ++,MFC开发多语言应用程序。我为每种语言都有单独的.rc文件。 说
English.rc //having string table for English language
French.rc //having string table for French language
German.rc //having string table for German language
每种语言都保持其字符串表。
因为我们可以使用函数LoadString(ID_HERE)
从字符串表中获取字符串值。我想链接不同的语言.rc文件,以便我可以获得不同语言的字符串。默认情况下,English.rc
文件与项目相关联。我想知道如何使用它将其更改为另一个.rc文件。
如何在运行时加载/链接任何特定语言的.rc文件,或者可以通过在下拉框中选择任何语言来更改语言? 我不想为它使用DLL方法。是否有任何直接方法将.rc文件链接到项目?
答案
就是那样。您必须创建资源DLL并从中加载资源。另一种方法是将所有资源作为语言依赖条件。然后,MFC将根据操作系统语言选择资源。但是对于大型项目来说几乎不可能保持所有语言同步,并且您无法控制所显示的语言。
语言资源dll的工作方式如下:
HMODULE hm = ::LoadLibrary(language_dll);
if(hm)
{
AfxSetResourceHandle(hm);
if(m_hLanguageDLL)
::FreeLibrary(m_hLanguageDLL);
m_hLanguageDLL = hm;
}
以上是关于如何使用/ load .rc文件进行多语言应用?的主要内容,如果未能解决你的问题,请参考以下文章
[sciter]:sciter如何使用i18实现桌面应用多语言切换及其利弊
PHP - 如何使用带有.po文件的gettext()创建一个简单的多语言应用程序
如何在单个 EXE 中嵌入多语言 *.resx(或 *.resources)文件?