What is internationalization?

Internationalization includes two things (1) preparing of your software to be translated to other languages and (2) creating the translations themselves. Internationalization is long word and is abbreviated as i18n - because there are 18 characters between first i and last n.

The key for step (1) is to write code in a way that does not depend on the target language:

• it should not assume anything about the plural forms (e.g. that plurals must end with s)
• should not assume anything about the number of plural forms. (in English there are two plural forms, but in Russian and some other Slavic languages there are three)
• all translatable strings (probably all strings that are displayed in the user interface) must be wrapped into the translation functions
• should ideally support display layout either left-to-right or right-to-left (rtl) (rtl layout used for Arabic and Hebrew, for example)

What is internationalization?

Internationalization includes two things (1) preparing of your software to be translated to other languages and (2) creating the translations themselves. Internationalization is long word and is abbreviated as i18n - because there are 18 characters between first i and last n.

The key requriements for the step (1) is to write code in a way that does not depend on - preparing the target language:software are the following:

• it should not assume anything about the plural forms (e.g. that plurals must end with s)
• your code should not assume anything about the number of plural forms. (in English there are two plural forms, but in Russian and some other Slavic languages there are three)
• all translatable strings in the code and templates (probably all strings that are displayed in the user interface) must be wrapped into the translation functions
• should ideally support display layout either left-to-right or right-to-left (rtl) (rtl layout used for Arabic and Hebrew, for example)

What is internationalization?

Internationalization includes two things (1) preparing of your software to be translated to other languages and (2) creating the translations themselves. Internationalization is long word and is abbreviated as i18n - because there are 18 characters between first i and last n.

The two step process makes life a lot easier for the programmers, designers of the user interface and the translators, because this way each can focus on his/her work without having to learn tricks of the trade of the others.

The requriements for the step (1) - preparing the software are the following:

• it should not assume anything about the plural forms (e.g. that plurals must end with s)
• your code should not assume anything about the number of plural forms. (in English there are two plural forms, but in Russian and some other Slavic languages there are three)
• all translatable strings in the code and templates (probably all strings that are displayed in the user interface) must be wrapped into the translation functions
• should ideally support display layout either left-to-right or right-to-left (rtl) (rtl layout used for Arabic and Hebrew, for example)

What is internationalization?

Internationalization includes two things (1) preparing of your software to be translated to other languages and (2) creating the translations themselves. Internationalization is long word and is abbreviated as i18n - because there are 18 characters between first i and last n.

The two step process makes life a lot easier for the programmers, designers of the user interface and the translators, because this way each can focus on his/her work without having to learn tricks of the trade of the others.

The requriements for the step (1) - preparing the software are the following:

• it should not assume anything about the plural forms (e.g. that plurals must end with s)
• your code should not assume anything about the number of plural forms. (in English there are two plural forms, but in Russian and some other Slavic languages there are three)
• all translatable strings in the code and templates (probably all strings that are displayed in the user interface) must be wrapped into the translation functions
• should ideally support display layout either left-to-right or right-to-left (rtl) (rtl layout used for Arabic and Hebrew, for example)