I agree with Paul, using `...' in the source files should be clearer. How about this? (I made a few other small English changes.) It's a little clunky yet.
karl --- standards.texi 23 Dec 2011 00:30:29 -0000 1.210 +++ standards.texi 23 Dec 2011 01:06:15 -0000 @@ -3187,8 +3187,28 @@ be the best choice. @cindex left quote +@cindex right quote +@cindex opening quote +@cindex single quote +@cindex double quote @cindex grave accent -In the C locale, GNU programs should stick to plain ASCII for quotation -characters in messages to users: preferably 0x60 (@samp{`}) for left -quotes and 0x27 (@samp{'}) for right quotes. It is ok, but not -required, to use locale-specific quotes in other locales. +In the C locale, the output of GNU programs should stick to plain +ASCII for quotation characters in messages to users: preferably 0x22 +(@samp{"}) or 0x27 (@samp{'}) for both opening and closing quotes. + +It is ok, but not required, to output locale-specific quotes in other +locales. However, you should never use Unicode in the C locale. + +That's for the output. In source files, you should stick to ASCII and +use the ASCII character 0x60 (@samp{`}) for opening quotes. That way, +translators can distinguish opening and closing quotes. If you +support internationalization, translators should be able to provide +their own quote characters. By convention, the string @samp{"`"} will +be translated to the opening quote and the string @samp{"'"} will be +translated to the closing quote. + +If the output of your program is ever likely to be parsed by another +program, it is good to provide an option that makes this parsing +reliable. For example, you could escape special characters using +conventions from the C language or the Bourne shell. See for example +the option @option{--quoting-style} of GNU @code{ls}. @@ -3200,18 +3220,2 @@ character. See the Gnulib documentation -In any case, the documentation for your program should clearly specify -how it does quoting, if different than the preferred method of @samp{`} -and @samp{'}. This is especially important if the output of your -program is ever likely to be parsed by another program. - -Quotation characters are a difficult area in the computing world at -this time: there are no true left or right quote characters in Latin1; -the @samp{`} character we use was standardized there as a grave -accent. Moreover, Latin1 is still not universally usable. - -Unicode contains the unambiguous quote characters required. However, -Unicode and UTF-8 are not universally well-supported, either. - -This may change over the next few years, and then we will revisit -this. -