我对“最佳方法”感兴趣,以确保您的基于linux和gtk的应用程序是从头开始构建的,能够支持i18n和本地化,而且不会带来太大的麻烦。
我一直听说本地化是一个很难实现的问题,所以我想知道是否有一个好的指导方针和/或方法可以帮助在应用程序中直接获得i18n和本地化支持?
下面是我读过的一个指南示例,但是这是微软Windows特有的…WPF Globalization and Localization Overview
最佳答案
使用gettext。它是linux上支持i18n的标准方法(也可以在其他平台上使用)。
文档看起来很吓人,但它基本上可以归结为更改代码:
printf("Hello World!");
到
printf(gettext("Hello World!"));
然后程序xgettext将把
gettext()
中的所有字符串提取到po文件中,这些文件可以使用poedit等工具进行编辑。这里有一个关于如何使用gettext:A tutorial on Native Language Support using GNU gettext的简短教程。它基本上涵盖了使用gettext的典型工作流。另一篇不错的文章是以php为中心的:Gettext - O'Reilly Media。在谷歌上搜索“gettext教程”,你可能会找到更多。
关于linux - 确保Linux和GTK应用程序支持i18n和本地化的最佳方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3508593/