避免MFC LOC DLL

避免MFC LOC DLL,mfc,localization,Mfc,Localization,我正在开发一个已经本地化为多种语言的MFC应用程序。它动态链接到MFC,如果目标系统安装了MFC LOC DLL,它会按预期自动使用这些DLL。然而,在一些OSs上,我们有喜欢英语的用户,我有没有办法强迫它使用英语DLL而不是翻译的MFC LOC DLL?MFC LOC机制非常糟糕。应该尽一切办法避免它,因为它弊大于利 正如您所经历的那样,MFC LOC无法使用多个翻译,因此它理应在我们行业的耻辱大厅中占有一席之地。想想所有这些导致其他不相关的基于MFC的应用程序出现部分翻译的应用程序 这就是为

我正在开发一个已经本地化为多种语言的MFC应用程序。它动态链接到MFC,如果目标系统安装了MFC LOC DLL,它会按预期自动使用这些DLL。然而,在一些OSs上,我们有喜欢英语的用户,我有没有办法强迫它使用英语DLL而不是翻译的MFC LOC DLL?

MFC LOC机制非常糟糕。应该尽一切办法避免它,因为它弊大于利

正如您所经历的那样,MFC LOC无法使用多个翻译,因此它理应在我们行业的耻辱大厅中占有一席之地。想想所有这些导致其他不相关的基于MFC的应用程序出现部分翻译的应用程序

这就是为什么我认为最好在您自己的资源DLL中提供MFC资源的翻译

免责声明:我的广告如下;-)

是你的朋友翻译你的MFC应用程序。它会自动将资源的MFC部分翻译成多达27种语言。它会自动构建您的资源DLL。还有更多

/广告结束


我的这篇文章提供了现成的代码来支持加载资源DLL和支持语言菜单。好的,这不是你的问题,但我认为这可能会有帮助。哦,这是免责声明,因为它是免费的;-)

我不知道你指的是什么样的系统(除了显而易见的Windows),但可能喜欢英语的用户(我怀疑特定国家的每个人…)可以在区域设置中将他们首选的UI语言设置为英语?除此之外,您还需要编写自定义加载程序,以首选语言而不是操作系统默认语言加载DLL。你能发布这段加载本地化库的代码吗?特别是关于区域设置检测(我想知道您使用什么代码来了解LCID)?如果我动态链接到MFC,如何防止它加载系统上已经存在的LOC DLL?是静态链接到MFC的唯一合理解决方案吗?如果你将MFC dll与你的应用程序并排安装,它将不会寻找共享的MFC loc dll。我已尝试并排使用MFC,都在本地目录中使用合并模块和专用程序集,并且仍然能够找到以前安装的完整可再发行安装所安装的LOC DLL。您使用的是VS和MFC的哪个版本?