gawk 国际化与调试全解析
1. gawk 程序国际化
在开发 awk 程序时,国际化是一个重要的考虑因素。通过使用 GNU gettext 工具集,gawk 可以方便地实现程序的国际化和本地化。
1.1 翻译示例
之前的示例只有在ncustomers大于 1 时才有效,使用dcngettext()可以更好地处理这种情况:
if (groggy) message = dcngettext("%d customer disturbing me\n", "%d customers disturbing me\n", "adminprog") else message = dcngettext("enjoying %d customer\n", "enjoying %d customers\n", "adminprog") printf(message, ncustomers)在开发过程中,可以使用bindtextdomain()函数将.gmo文件放在私有目录中进行测试:
BEGIN { TEXTDOMAIN = "guide" # our text domain if (Testing) { # where to