查询一个不熟悉的printf函数语法

时间:2014-08-06 08:07:10

标签: c printf

在Unix fdisk命令的源代码中,我遇到了以下printf。

printf ("%s %s %10s %11s %11s %4s %7s ", _("Device"),
        _("Boot"), _("Start"), _("End"), _("Blocks"), _("Id"), _("System"));

为什么放在括号内的字符串前面有下划线?

1 个答案:

答案 0 :(得分:2)

gettext的缩写:

#define _(string) gettext (string)

1.1 GNU gettext的目的

  

通常,程序是用英语编写和记录的,并使用   执行时英语与用户互动。事实并非如此   只有GNU软件,但也有大量的专有和免费   软件。使用通用语言对于沟通非常方便   来自所有国家的开发人员,维护人员和用户之间。在   另一方面,大多数人对英语不太满意   他们自己的母语,宁愿使用他们的母语   为了日常的工作,尽可能。许多人会喜欢   看到他们的电脑屏幕显示出更少的英语,还有更多   他们自己的语言。

     

然而,对许多人来说,这个梦想可能看起来如此遥远   他们可能认为甚至不值得花时间思考它。   他们完全没有信心梦想可能成真。   然而有些人并没有失去希望,并且已经组织起来。该   翻译项​​目将这种希望正式化为可行的   结构,很有可能让我们所有人更接近   实现真正的多语言程序。

     

GNU gettext是翻译项目的重要一步   我们可以在其上构建许多其他步骤的资产。这个套餐提供   对于程序员,翻译人员甚至是用户来说,这是一套很好的集成   工具和文档。具体来说,GNU gettext实用程序是一个   提供其他免费框架的工具集   包可能会产生多语言消息。

More info