在Unix fdisk命令的源代码中,我遇到了以下printf。
printf ("%s %s %10s %11s %11s %4s %7s ", _("Device"),
_("Boot"), _("Start"), _("End"), _("Blocks"), _("Id"), _("System"));
为什么放在括号内的字符串前面有下划线?
答案 0 :(得分:2)
是gettext
的缩写:
#define _(string) gettext (string)
1.1 GNU gettext的目的
通常,程序是用英语编写和记录的,并使用 执行时英语与用户互动。事实并非如此 只有GNU软件,但也有大量的专有和免费 软件。使用通用语言对于沟通非常方便 来自所有国家的开发人员,维护人员和用户之间。在 另一方面,大多数人对英语不太满意 他们自己的母语,宁愿使用他们的母语 为了日常的工作,尽可能。许多人会喜欢 看到他们的电脑屏幕显示出更少的英语,还有更多 他们自己的语言。
然而,对许多人来说,这个梦想可能看起来如此遥远 他们可能认为甚至不值得花时间思考它。 他们完全没有信心梦想可能成真。 然而有些人并没有失去希望,并且已经组织起来。该 翻译项目将这种希望正式化为可行的 结构,很有可能让我们所有人更接近 实现真正的多语言程序。
GNU gettext是翻译项目的重要一步 我们可以在其上构建许多其他步骤的资产。这个套餐提供 对于程序员,翻译人员甚至是用户来说,这是一套很好的集成 工具和文档。具体来说,GNU gettext实用程序是一个 提供其他免费框架的工具集 包可能会产生多语言消息。