C++ 标准化语言转换?

C++ 标准化语言转换?,c++,windows,C++,Windows,编程中有语言转换的标准吗?如果这是一个宽泛的问题,那么就我的例子而言: 我设计了一个C++和硬编码的英语单词,但是我希望能适应意大利语中的等值词的显示。我正在考虑使用这样一个简单的Lang.ini文件 English=Language Do=Fare Column=Colonna etc 加载这个&并在运行时交换单词。没有任何与网络相关的东西 有没有更好的方法来做到这一点&我应该注意哪些问题 谢谢 编辑: 澄清: 我希望将我在程序中使用的硬编码英语单词自动转换为用户PC上使用的任何语言。可以为

编程中有语言转换的标准吗?如果这是一个宽泛的问题,那么就我的例子而言:

我设计了一个C++和硬编码的英语单词,但是我希望能适应意大利语中的等值词的显示。我正在考虑使用这样一个简单的Lang.ini文件

English=Language
Do=Fare
Column=Colonna
etc
加载这个&并在运行时交换单词。没有任何与网络相关的东西

有没有更好的方法来做到这一点&我应该注意哪些问题

谢谢

编辑: 澄清:
我希望将我在程序中使用的硬编码英语单词自动转换为用户PC上使用的任何语言。

可以为语言加载资源,并将字符串保存在资源中。

可用的标准凝固宏:

WORD lang_id = MAKELANGID( primary, sublang )
BYTE primary = PRIMARYLANGID( lang_id )
BYTE sublang = SUBLANGID( lang_id )
加载资源:

HRSRC hrsrc = FindResourceEx(hMod, RT_ICON, id, langID );
HGLOBAL hglb = LoadResource(hMod, hrsrc);
LPVOID lpsz = LockResource(hglb);
语言初始化代码:

static DWORD dwJapanese =
MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT));
// load Japanese resource
SetThreadLocale(dwJapanese, SORT_DEFAULT)
使用LoadString函数,可能是write wrapper函数,以方便使用,如tihs:

可以为语言加载资源,并在资源中保存字符串。

可用的标准凝固宏:

WORD lang_id = MAKELANGID( primary, sublang )
BYTE primary = PRIMARYLANGID( lang_id )
BYTE sublang = SUBLANGID( lang_id )
加载资源:

HRSRC hrsrc = FindResourceEx(hMod, RT_ICON, id, langID );
HGLOBAL hglb = LoadResource(hMod, hrsrc);
LPVOID lpsz = LockResource(hglb);
语言初始化代码:

static DWORD dwJapanese =
MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT));
// load Japanese resource
SetThreadLocale(dwJapanese, SORT_DEFAULT)
使用LoadString函数,可能是write wrapper函数,以方便使用,如tihs:
你所寻找的被描述为“国际化”(或者,对于那些喜欢一点讽刺的人来说,被称为“国际化”)。有相当数量的介绍性材料可以在谷歌上找到

这个话题涉及的不仅仅是翻译单词。还需要考虑如何输出数值、表示货币等问题

标准C和C++支持这些特征。关于这个主题的一篇文章(来自C/C++用户杂志)是


除了C++之外,Windows还具有自己的特性,可以用于应用程序的国际化。一个出发点是你想要的被描述为“国际化”(或者,对于那些喜欢一点讽刺的人来说,是“国际化”)。有相当数量的介绍性材料可以在谷歌上找到

这个话题涉及的不仅仅是翻译单词。还需要考虑如何输出数值、表示货币等问题

标准C和C++支持这些特征。关于这个主题的一篇文章(来自C/C++用户杂志)是


除了C++之外,Windows还具有自己的特性,可以用于应用程序的国际化。一个出发点是

我保留现在就标记答案的权利,因为当前的答案很有用。为了澄清,这些方法/方法中是否有任何一种会在运行时自动转换为本地给定语言?我保留立即标记答案的权利,因为当前的答案很有用。要澄清的是,这些方法/方法中的任何一种会在运行时自动转换为本地给定语言吗?