<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Aug 24, 2015 at 10:12 AM, Barry Warsaw <span dir="ltr"><<a href="mailto:barry@python.org" target="_blank">barry@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Aug 21, 2015, at 10:52 PM, Mike Miller wrote:<br>
<br>
>Which syntax would you rather have for translation?  (Knowing that you might<br>
>give a different answer for standard interpolation.)<br>
<br>
</span>For i18n, $-strings (aka PEP 292, string.Template) is by far the best choice.<br>
Translators are very familiar with the syntax, having used it now for many<br>
years (and not just in a Python context), and it's very difficult for<br>
non-technical folks to get wrong.<br>
<br>
I don't see any advantages to springing yet another i18n interpolation syntax<br>
on translators, and I definitely don't see the advantage of introducing a<br>
*second* i18n syntax to translators of Python programs.<br>
<br>
If that means PEP 498/501 isn't appropriate for Python i18n, so be it.  What<br>
we have now works, even if its implementation requires the use of some<br>
frowned-upon APIs, and the use of function syntax for marking and invocation.<br></blockquote></div><br></div><div class="gmail_extra">That's fair, and I'm glad we have this clear position on the table.<br><br></div><div class="gmail_extra">I cannot accept $ interpolation in the language definition. I also don't want PEP 498 and 501 to use different interpolation syntaxes. So to me, this means that i18n is off the table as a motivation for PEP 501 (it never was on the table for 498), and Nick can focus on motivational examples from html/sql/shell code injection for PEP 501 (but only if he can live with the PEP 498 surface syntax for interpolation).<br></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>