Mariano Reingart added the comment:

"serious" developers? sorry but I think that is a unfortunate phrase that goes 
against the Python Diversity Statement
What about young pupil? 
What about non-programmers (i.e. accountants)? 
In some places (like my country, public schools), English is not teach formally 
until the University.

And I don't think non-English speakers are just a subset of users.
Come on, English is not even the top native tongue (that is Chinese Mandarin). 
English can be one of the most spoken languages, but even that metric only 
reach 1/7th of the total world population. Other languages like Spanish or 
Portuguese are also rising.

http://en.wikipedia.org/wiki/Language#Linguistic_diversity

BTW, as the draft says, Python is the offender here, as other error messages 
are already translated (including the OS ones, even inside Python!):

C:\Python32>python
Python 3.2.2 (default, Sep  4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on 
win 32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.listdir("J:\\")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
WindowsError: [Error 3] El sistema no puede encontrar la ruta especificada: 
'J:\\*.*'

PostgreSQL already translates error messages too:

C:\Program Files\PostgreSQL\9.0\bin>psql
psql (9.0.3)
Digite «help» para obtener ayuda.

Mariano=> SELECT * FROM nowhere;
ERROR:  no existe la relación «nowhere»
LÍNEA 1: SELECT * FROM nowhere;
                      ^

And Bash too:

reingart@desktop:~/cpython$ ls /nowhere
ls: no se puede acceder a /nowhere: No existe el archivo o el directorio


Of course, there is no need to translate keywords or libraries (as SQL 
sentences and bash command are not translated, just messages are), I don't see 
why this could cause confusion, instead that, I think python would become more 
consistent with other tools and thus more easy to use.

The mechanism to restore the language is the common one (used by almost every 
other application that support i18n):
>>> locale.setlocale(locale.LC_MESSAGES, "C")
It should be not difficult for "serious" programmers to handle that :-)
If that is a concern, it could be implemented a command line parameter, a 
environment variable or a shortcut in locale module.

Anyway, people will not necessarily be faced by default with the localized 
version, an if for example, a teacher has to jump to an student machine, surely 
it could use it as messages will be probably in the spoken language of the 
country (BTW, probably most of the operating system components will be 
localized, not only Python)
For advanced users or logging, it could be disabled at all!

Finally, you're correct about that translation is not easy job, and this 
proposal (traceback internationalization) is just the tip of the iceberg (even 
more work will be needed in other aspects to get a full localization).
If PostgreSQL and other tools could do that, why Python could not?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue16344>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to