国际化和本地化

gtkmm应用程序可以很轻松的支持包括非欧洲语言(如中文)和从右向左语言(如阿拉伯语)在内的多种语言。正确编写且进行翻译的gtkmm应用程序可以在运行时根据用户环境使用合适的语言。

你可能没有预料到需要支持其他语言,但你永远不能排除这种可能性。而且事先准备好支持多语言比后来改进要容易的多。

编写允许进行翻译的源代码的过程被称为internationalization,通常被缩写为i18n。而根据该源代码提供其他语言的翻译文本的过程Localization通常被简写为l10n

国际化过程中的主要活动是查找用户能看到的字符串并将其标记为需要可翻译。你不需要一次性完成所有的操作 - 只要你的项目准备好了进行国际化无论你有多少个字符串被标记为可翻译都不会影响程序的正常运行。

源代码中的字符串字面量应该以英文键入,但要使用宏包围。gettext(或intltool)实用程序可以提取被标记的字符串进行翻译,并在运行时将其替换为翻译后的文本。