在 C 語言環境中,GNU 程式的輸出在給使用者的訊息中,對於引號字元應堅持使用純 ASCII:最好是 0x22 (‘"’) 或 0x27 (‘'’),用於開頭和結尾引號。雖然 GNU 程式傳統上使用 0x60 (‘`’) 作為開頭引號,而 0x27 (‘'’) 作為結尾引號,但如今引號 ‘`like this'’ 通常呈現為不對稱,因此使用 ‘"like this"’ 或 ‘'like this'’ 這樣的引號通常看起來更好。
GNU 程式在非 C 語言環境中產生特定於地區設定的引號是可以的,但不是必需的。例如
printf (gettext ("Processing file '%s'..."), file);
在這裡,法文翻譯可能會導致 gettext
返回字串 "Traitement de fichier ‹ %s ›..."
,產生更適合法語地區設定的引號。
有時程式可能需要直接使用開頭和結尾引號。按照慣例,gettext
將字串 ‘"`"’ 翻譯為開頭引號,將字串 ‘"'"’ 翻譯為結尾引號,程式可以使用這些翻譯。然而,一般來說,在較長字串的上下文中翻譯引號字元會更好。
如果你的程式的輸出有可能被另一個程式解析,那麼提供一個使解析可靠的選項是好的。例如,你可以使用 C 語言或 Bourne shell 的慣例來跳脫特殊字元。例如,請參閱 GNU ls
的 --quoting-style 選項。