Linux C/C++程序如何支持多种语言?

2023-11-29

例如,在这个最简单的 hello world 程序中:

#include <iostream>
int main()
{
    std::cout<<"Hello World!"<<std::endl;
    return 0;
}

我想看看法语用户的环境LANG被设定为fr_FR,它可能看起来像:

$ ./a.out
Hello World!

$ LANG=fr_FR.utf8
$ ./a.out
Bonjour tout le monde!

有没有关于如何在 Linux 中实现这一目标的指南?


关键是使用“资源”(每种语言一个,配置为在运行时读取)与硬编码字符串。 Qt 和 GTK+ 等 GUI 框架使这(相对)容易。

这是 GTK+ 使用的 Pango”库的链接(但强调不是,独家的到 GTK+):

  • http://www.pango.org/

这是使用 Pango 的教程:

  • http://x11.gp2x.de/personal/google/

这里有一个关于“gettext()”的教程(我相信 Pango 使用它):

  • http://inti.sourceforge.net/tutorial/libinti/internationalization.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux C/C++程序如何支持多种语言? 的相关文章

随机推荐