👋
👶🏽 ❤️ 🤓 📝 🏡
🇲🇽🇳🇮🇺🇸🇨🇳🇬🇧
⭐️
🤔
A number-based word, for example:
Numbers as sounds: K9, l8r
numbers as meaning: 007, 24/7, 911
adding up the number of letters between the first and last and then using that number instead of the middle of the word, wow, what a good idea : i18n, l10n, a11y
... n7m
@elibelly
🤔
Icon made by Dot on Paper from www.flaticon.com
🌍🌎🌏
@elibelly
💡
If you internationalise, you design or develop your content, application, specification, and so on, in a way that ensures it will work well for, or can be easily adapted for, users from any culture, region, or language.
W3C Standards
🇪🇸
🇬🇧
Your code
except with templates or placeholders
instead of strings
localised string "resources"
🇮🇹
Handlebars :
React :
JavaScript :
Handlebars :
React :
JavaScript :
@elibelly
🕯🕯🕯🕯🕯
Optional!
☕️
咖啡
قهوة
coffee
@elibelly
<p dir="ltr">bahrain مصر kuwait</p>
<p dir="rtl">bahrain مصر kuwait</p>
@elibelly
[Language Tag]-[Subtags]*
en-US, en-GB mn-Cyrl-MN zh-Hant-HK es-419
@elibelly
👶🏽 ❤️ 🤓 📝 🏡
🇲🇽🇳🇮🇺🇸🇨🇳🇬🇧
es_MX es_NI en_US zh_Hans_CN en_GB
es_419
💡
@elibelly
The most extensive standard repository of locale-specific data
Maintained by Unicode Consortium
Most devs will never see it - usually wrapped in libraries
It's originally in XML
@elibelly
<days>
<dayContext type="format">
<dayWidth type="abbreviated">
<day type="sun">dom.</day>
<day type="mon">lun.</day>
<day type="tue">mar.</day>
<day type="wed">mié.</day>
<day type="thu">jue.</day>
<day type="fri">vie.</day>
<day type="sat">sáb.</day>
</dayWidth>
<dayWidth type="short">
<day type="sun">DO</day>
<day type="mon">LU</day>
<day type="tue">MA</day>
<day type="wed">MI</day>
<day type="thu">JU</day>
<day type="fri">VI</day>
<day type="sat">SA</day>
</dayWidth>
<dayWidth type="wide">
<day type="sun">domingo</day>
<day type="mon">lunes</day>
<day type="tue">martes</day>
<day type="wed">miércoles</day>
<day type="thu">jueves</day>
<day type="fri">viernes</day>
<day type="sat">sábado</day>
</dayWidth>
</dayContext>
</days>
CLDR 'Days' Section - Spanish Language (en-EN)
@elibelly
@elibelly
Write full sentences when possible
Use complex arguments (ie. select, plural) as the outermost structure of a message
Do not try to build sentences yourself
{ gender, select, male {He likes to dance the cha cha in the moonlight}, female {She likes to dance the cha cha in the moonlight}, other {They like to dance the cha cha in the moonlight} }
{ gender, select, male {He}, female {She}, other {They} likes to dance the cha cha in the moonlight
}
{ gender, select, male {He likes}, female {She likes}, other {They like} to dance the cha cha in the moonlight
}
✅
❌
❌
ECMA 402
Intl.NumberFormat
Intl.DateTimeFormat
Intl.Collator
For more information, look up the TC39 ECMA 402 Proposal
or the W3C TPAC Internationalization Working Group
🎉
🕯🕯🕯
It is a way of automatically, seamlessly gathering new source material, publishing it for translation, acquiring translations and integrating them back into the product.
@elibelly
💡
Swiss Franc in English (en-GB)
Swiss Franc in German (de-DE)
height: 8.57rem
height: 8.57rem🎉
Swedish krona in French (fr-FR)
British Pound Sterling in English (en-GB)
grid design🎉
note: always make sure to check browser compatibility when using intl tools and tread carefully
:lang( <language-code> ) {}
Img source: https://css-tricks.com/almanac/selectors/l/lang/
https://www.w3.org/International/articles/typography/linebreak
💡
@elibelly
If you have questions, find me during the breaks