accessibility
convenience
potential global userbase
enable foreign speakers
international business transactions
Internationalization (i18n)
"Internationalization is the design and development pf a product, application or document content that enables easy location for a target audiences that vary in culture, region or language."
https://www.w3.org/International/questions/qa-i18n
"Location refers to the adaption of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a 'locale')."
Localization (l10n)
https://www.w3.org/International/questions/qa-i18n
Language
text content
writing direction
alphabets / characters
text in media (images, video, audio)
spelling variances
Cultural
colors
address
measurements
currencies
Regulations
time format
number format
writing conventions
translation context
pluralization
multiple platforms
conjungations
check requirements (services, tools)
define approach
choose libraries
Text
select language
provide translations
reference fragments
ensure encoding
Data
apply restrictions
dynamic values
proofread texts
detect changes
view state variations
extensibility
coverage
scopes
Cedric
Android?
iOS?
gettext
PO files
#: modules/user/views_handler_filter_user_name.inc:29
msgid "Enter a comma separated list of user names."
msgstr "Eine kommagetrennte Liste von Benutzernamen."
#: modules/user/views_handler_filter_user_name.inc:112
msgid "Unable to find user: @users"
msgid_plural "Unable to find users: @users"
msgstr[0] "Benutzer konnte nicht gefunden werden: @users"
msgstr[1] "Benutzer konnten nicht gefunden werden: @users"
ICU message format (CLDR)
keybased
```js
"{gender_of_host, select, "
"female {"
"{num_guests, plural, offset:1 "
"=0 {{host} does not give a party.}"
"=1 {{host} invites {guest} to her party.}"
"=2 {{host} invites {guest} and one other person to her party.}"
"other {{host} invites {guest} and # other people to her party.}}}"
"male {"
"{num_guests, plural, offset:1 "
"=0 {{host} does not give a party.}"
"=1 {{host} invites {guest} to his party.}"
"=2 {{host} invites {guest} and one other person to his party.}"
"other {{host} invites {guest} and # other people to his party.}}}"
"other {"
"{num_guests, plural, offset:1 "
"=0 {{host} does not give a party.}"
"=1 {{host} invites {guest} to their party.}"
"=2 {{host} invites {guest} and one other person to their party.}"
"other {{host} invites {guest} and # other people to their party.}}}}"
```
context provider
higher order component
decoupled references
2.) npm script to generate POT files
(extract and convert references)
4.) update components with texts
1.) initial setup for react-18next
3.) npm script to generate json files
(based on language specific POs)
*.) translate strings and store the PO