如何在 Visual C++ 中加载不同语言的对话框?

Posted

技术标签:

【中文标题】如何在 Visual C++ 中加载不同语言的对话框?【英文标题】:How to Load Dialog with Different Languages in Visual C++? 【发布时间】:2021-06-23 21:49:09 【问题描述】:

我使用的是 Visual C++ 2008。在 Visual C++ 中,我可以定义不同语言的对话框资源,例如英语、德语。并且应用程序将使用与用户当前默认语言环境相同的语言加载对话框。

但是,如果用户默认语言环境是英语,但我想加载德语对话框怎么办?我找不到这种情况的解决方案。

谢谢

【问题讨论】:

【参考方案1】:

你有两个选择:

    您可以在应用程序中创建“设置”部分,用户可以在其中指定区域设置。然后编写逻辑以将设置中的值(如果有)优先于默认语言环境。最初,对话框将在当前默认语言环境中运行,然后用户需要手动设置语言环境,或者您可以使用已经存在的设置分发您的应用程序 - 例如如果您的目标是使用英语默认语言环境系统的德语用户。

    如果默认语言环境是英语,您可以编写简单的逻辑来使用德语语言环境。

获取和设置语言环境:

std::locale("").name(); /* Get current user locale */
std::setlocale(LC_ALL, "de_DE"); /* Set to German */

【讨论】:

以上是关于如何在 Visual C++ 中加载不同语言的对话框?的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio c++ 中创建将在 VB 中加载的 DLL

Visual C++ 中顺序对话框的最佳实践是啥?

如何在 Visual Studio 2010 中加载 bmp 文件

*** 异常发生在 C++ Codegear 而不是 Visual C++

如何在 Microsoft Visual Studio 中加载 .xml 文件

如何在android中的对话框中加载webview