Differences between revisions 31 and 32
Revision 31 as of 2014-12-04 04:39:05
Size: 3818
Editor: kcrisman
Comment:
Revision 32 as of 2022-03-31 02:17:38
Size: 0
Editor: mkoeppe
Comment: outdated
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Internationalization of Sage Notebook =

Internationalization is the adaptation of products for potential use virtually everywhere, while localization is the addition of special features for use in a specific locale. For those new to the topic, "i18n" is a short-hand for "Internationalization" referring to the 18 letters between the I and and N. Similarly, "l10n" is shorthand for "localization". For more information, see the section "Useful Links".

Note that this is only about the notebook. There are other efforts at translation of various documentation, such as on on this wiki for [[i18n/Italian|Italian]], and at least some of Sage's tutorial or "tour" is currently translated into various languages. Please email sage-devel or open Trac tickets!

== Project information ==

The initial pieces of the project are now complete. As of the end of 2014, we have the Sage notebook in [[https://github.com/sagemath/sagenb/tree/master/sagenb/translations|seven languages]].

 * Czech
 * German (Austrian)
 * English (US)
 * Spanish
 * French
 * Portuguese (Brazilian)
 * Russian

We would love to have more! Among other requests we have had are

 * Italian
 * Korean
 * Greek
 * Ukrainian

Also, maintaining translations is an ongoing job.
 * The notes at https://github.com/sagemath/sagenb/blob/master/README.rst about localization should still be true.
 * Please see https://github.com/sagemath/sagenb/pull/238 for a better way to keep things updated, which needs review.


== Old project description ==

This project would involve changing the Sage notebook so that the user interface language can be translated and changed on the fly. This project will require knowledge of Python, Mercurial, and basic web coding; knowing the GNU gettext utilities, Javascript, and the Jinja web templating system will be helpful. No knowledge of (human!) languages other than English is necessary.

=== Languages Requested ===

There have been repeated requests to localize Sage into different languages. Below is an alphabetical list of the requested languages:

 * [[i18n/Czech| Czech]]: Robert Mařík
 * [[i18n/French| French]]: Alex Ghitza, Bertrand Meyer, Marc Mezzarobba
 * [[i18n/German| German]]: Michael Abshoff
 * [[i18n/Italian| Italian]]: [[MarcoRofei|Marco Rofei]]
 * [[i18n/Korean| Korean]]: DanDrake
 * Portuguese (Brazilian): Luiz Aquino.
 * [[i18n/Russian| Russian]] : Peter Ototsky
 * [[i18n/Spanish| Spanish]]: Sean O'Quin, Oscar Lazo
 * [[i18n/Greek| Greek]]: Zafeirakis Zafeirakopoulos

If your language is missing please add it. In addition if you are willing to help out translating please add your name to the language in question.

=== Localization in Progress ===

[[http://groups.google.com/group/sage-notebook/browse_thread/thread/9b7b6aee9e331962 | sage-notebook thread about i18n translations]]

[[http://trac.sagemath.org/sage_trac/ticket/9428 | Ticket #9428 - Internationalize the Sage Notebook]]

To avoid duplication:

 * German (de_DE/AT): Harald Schilly (~5%, please help ;) )
 * Brazilian Portuguese (pt_BR): Luiz Aquino (100% ;) )
 * Czech (cs_CZ): Robert Mařík (~99% - the admin's Notebook server settings is for definiteness kept in English)
 * Greek (el_GR): Zafeirakis Zafeirakopoulos (~5%)

=== Useful Links ===

This page is about code internationalization. The translation of the documentation itself is an orthogonal issue that will be discussed elsewhere. Below is a list of resources on the web to get started in this project:

 * http://docs.python.org/lib/node742.html
 * http://wiki.laptop.org/go/Python_i18n
 * http://www.gnu.org/software/gettext/manual/gettext.html
 * http://jinja.pocoo.org/2/documentation/

=== Potential Problems ===

 * cython code
 * potential performance impact