Localization and internationalization facilities exist for applications, often as library functions (e.g. Posix [gettext][1]).

However, it makes much less sense to localize the source code of programs and scripts (e.g. by changing keywords of programming languages like `if` to `si` in French....) because the meaning of a program is also conveyed by the identifier names and the comments.

Automatic translations of such names and comments is IMHO beyond the state of the art.

<sup>And I believe it would be simpler to have the machine program itself, i.e. synthetize its own code,  instead of translating programs to be humanly understandable by other cultures. Look at *Artificial General Intelligence* and e.g. [J.Pitrat's blog][2].</sup>

In practice, developers of software to be worked on by some international team (e.g. free software projects) should agree on some human language (often some form of English) and on some coding conventions or coding styles.

  [1]: https://en.wikipedia.org/wiki/Gettext
  [2]: http://bootstrappingartificialintelligence.fr/WordPress3/