Upgrade to Pro — share decks privately, control downloads, hide ads and more …

¡Ay, caramba! Multilingual websites

¡Ay, caramba! Multilingual websites

Even though it’s a part of the name, sometimes we forget that the Web IS world wide. It is a platform enjoyed by millions of people of different languages. This presentation reviews some of the “¡Ay, caramba!” moments we might face when designing a multilingual site.

http://miguel-perez.com/talks/ay-caramba-multilingual-websites/

Miguel Ángel Pérez

June 17, 2014
Tweet

More Decks by Miguel Ángel Pérez

Other Decks in Design

Transcript

  1. ‣ Escape syntax characters" ‣ Escape invisible characters" ‣ For

    everything else, there’s UTF-8 encode Properly to avoid escapes <meta charset=‘UTF-8’> Miguel A. Perez Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites
  2. ‣ Detect your user’s language setting for a good default"

    ‣ Have a way for the user to change their settings" ‣ List language names in their own language" ‣ Don’t lose the user’s position on the site Set the language of your document <html dir=‘rtl’ lang=‘ar’> Miguel A. Perez Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites
  3. styling a specific language Miguel A. Perez Front-end/Ux at Weblinc

    ¡Ay, caramba! Multilingual Websites [lang=en] { // IE 7+! ! line-height: 1.5em! }! html:lang(ar) { // IE 8+, HTTP headers! ! font-family: sans-serif;! } Choose your font-stack carefully since it will provide a feedback for missing glyphs.
  4. Using images as text makes translation difficult Miguel A. Perez

    Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites
  5. Visual metaphors don’t always translate This check symbol means 'correct'

    or 'ok' in many countries. In some countries, however, such as Japan, it can indicate 'incorrect'. Miguel A. Perez Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites
  6. ruby markup <p lang=‘ja’>! ! <ruby>! ! ! <rb>౦</rb> <!—

    Ruby Base —>! ! ! <rt>ͱ͏</rt> <!— Ruby Text —>! ! ! <rb>ژ</rb> ! ! ! <rt>͖ΐ͏</rt>! ! </ruby>! </p> Miguel A. Perez Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites
  7. Number of Characters Additional Physical Space Required Up to 10

    100% to 200% 11 to 20 80% to 100% 21 to 30 60% to 80% 31 to 50 40% to 60% 51 to 70 31% to 40% Over 70 30% Text strings will vary in size Miguel A. Perez Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites
  8. Bad ways to solve this problem... Miguel A. Perez Front-end/Ux

    at Weblinc ¡Ay, caramba! Multilingual Websites .class {! ! word-wrap: break-word;! }! .class {! ! overflow: hidden;! } These may solve the visual problem of longer strings but render the text unreadable.
  9. ‣ Word Break Opportunity marks a position within text where

    the browser may break a line." ‣ Soft Hyphen is an invisible character that suggest where the browser may break the line and add a hyphen. <wbr> and &shy; Miguel A. Perez Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites Alright ways to solve this...
  10. The holy grail of hyphens Miguel A. Perez Front-end/Ux at

    Weblinc ¡Ay, caramba! Multilingual Websites .class {! ! -webkit-hyphens: auto;! ! -moz-hyphens: auto;! ! -ms-hyphens: auto;! ! hyphens: auto;! } Modernizer test available for feature detection that could be used alongside a polyfill.
  11. Miguel A. Perez Front-end/Ux at Weblinc ¡Ay, caramba! Multilingual Websites

    Pseudolocalizations Instead of translating the text of the software into a foreign language the textual elements are replaced with an altered version of the original language. Normal Text Pseudolocalization Account Settings [== Àççôûñţ Šéţţîñĝš ==]