Punctuation Localization

05bab33cfd102c84f045838aa4e05bec?s=47 Nova Patch
September 12, 2018

Punctuation Localization

Punctuation is commonly just a bullet point in internationalization materials, if mentioned at all. This session explores the depths of global punctuation and how to support dynamically localized punctuation throughout your products to provide a first-class user experience in all locales.

Topics include:
• A world tour of punctuation!
• To localize, or not to localize?
• A matter of style… guides
• Punctuation inside (and outside) translations
• Leveraging the Unicode CLDR
• Beyond the CLDR: opportunities for standardization
• Review of available software libraries

Presented at:
• 2018-09-12: Internationalization & Unicode Conference 42 (IUC42), Santa Clara, CA

05bab33cfd102c84f045838aa4e05bec?s=128

Nova Patch

September 12, 2018
Tweet

Transcript

  1. #iuc42 Nova Patch @novapatch Shutterstock

  2. None
  3. cs da de en es fi. .fr. hu it ja

    ko nb nl. .pl. .pt ru sv th tr zh.
  4. da da-GL de de-AT de-BE de-CH de-IT de-LI de-LU en

    en-001 en-150 en-AG en-AI en-AS en-AT en-AU en-BB en-BE e M en-BS en-BW en-BZ en-CA en-CC en-CH en-CK en-CM en-CX en-CY en-DE en-DG en-DK en-DM en-ER en-FI en-FJ e M en-GB en-GD en-GG en-GH en-GI en-GM en-GU en-GY en-HK en-IE en-IL en-IM en-IN en-IO en-JE en-JM en-KE en-KI KY en-LC en-LR en-LS en-MG en-MH en-MO en-MP en-MS en-MT en-MU en-MW en-MY en-NA en-NF en-NG en-NL en NU en-NZ en-PG en-PH en-PK en-PN en-PR en-PW en-RW en-SB en-SC en-SD en-SE en-SG en-SH en-SI en-SL en-SS e Z en-TC en-TK en-TO en-TT en-TV en-TZ en-UG en-UM en-US-POSIX en-VC en-VG en-VI en-VU en-WS en-ZA en-ZM en es-419 es-AR es-BO es-BR es-BZ es-CL es-CO es-CR es-CU es-DO es-EA es-EC es-GQ es-GT es-HN es-IC es-MX es-NI es E es-PH es-PR es-PY es-SV es-US es-UY es-VE fi fr fr-BE fr-BF fr-BI fr-BJ fr-BL fr-CA fr-CD fr-CF fr-CG fr-CH fr-CI fr-CM DZ fr-GA fr-GF fr-GN fr-GP fr-GQ fr-HT fr-KM fr-LU fr-MA fr-MC fr-MF fr-MG fr-ML fr-MQ fr-MR fr-MU fr-NC fr-NE fr-PF fr- E fr-RW fr-SC fr-SN fr-SY fr-TD fr-TG fr-TN fr-VU fr-WF fr-YT hu it it-CH it-SM it-VA ja ko ko-KP nb nb-SJ nl nl-AW n BQ nl-CW nl-SR nl-SX pl pt pt-AO pt-CH pt-CV pt-GQ pt-GW pt-LU pt-MO pt-MZ pt-PT pt-ST pt-TL ru ru-BY ru-KG ru MD ru-UA sv sv-AX sv-FI th tr tr-CY zh zh-Hans zh-Hans-HK zh-Hans-MO zh-Hans-SG zh-Hant zh-Hant-HK zh-Hant-
  5. None
  6. .Millennials Are.

  7. .Millennials Are. .Killing Punctuation.

  8. None
  9. PUNCTUATIONS

  10. PUNCTUATIONS NOT

  11. PUNCTUATIONS NOT DEAD!

  12. ! " # % & ' ( ) * ,

    - . / : ; ? @ [ \ ] _ { } ¡ § « ¶ · » ¿ ; · ՚ ՛ ՜ ՝ ՞ ՟ ։ ֊ ܍ ܌ ܋ ܊ ܉ ܈ ܇ ܆ ܅ ܄ ܃ ܂ ܁ ܀ ۔ ٭ ، ٫ ٪ ؟ ؞ ؛ ؍ ، ״ ׳ ׆ ׃ ׀ ־ । ॥ ॰ ෴ ๏ ๚ ๛ ༄ ༅ ༆ ༇ ༈ ༉ ༊ ་ ༌ ། ༎ ༏ ༐ ༑ ༒ ༔ ༺ ༻ ༼ ༽ ྅ ၊ ။ ၌ ၍ ၎ ၏ ჻ ፠ ፡ ። ፣ ፤ ፥ ፦ ፧ ፨ ᜵ ᜶ ។ ៕ ៖ ៘ ៙ ៚ ᨞ ᨟ ‐ ‑ ‒ – — ― ǁ ‗ ‘ ’ ‚ ‛ “ ” „ ‟ † ‡ • ‣ ․ ‥ … ‧ ‰ ‱ ′ ″ ‴ ‵ ‶ ‷ ‸ ‹ › ※ ‼ ‽ ‾ ‿ ⁀ ⁁ ⁂ ⁃ ⁅ ⁆ ⁇ ⁈ ⁉ ⁊ ⁋ ⁌ ⁍ ⁎ ⁏ ⁐ ⁑ ⁓ ⁔ ⁕ ⁖ ⁗ ⁘ ⁙ ⁚ ⁛ ⁜ ⁝ ⁞ ⁽ ⁾ ₍ ₎ ⌈ ⌉ ⌊ ⌋ 〈 〉 ❨ ❩ ❪ ❫ ❬ ❭ ❮ ❯ ❰ ❱ ❲ ❳ ❴ ❵ ⟅ ⟆ ⟦ ⟧ ⟨ ⟩ ⟪ ⟫ ⟬ ⟭ ⟮ ⟯ ⦃ ⦄ ⦅ ⦆ ⦇ ⦈ ⦉ ⦊ ⦋ ⦌ ⦍ ⦎ ⦏ ⦐ ⦑ ⦒ ⦓ ⦔ ⦕ ⦖ ⦗ ⦘ ⧘ ⧙ ⧚ ⧛ ⧼ ⧽ ⳾ ⳿ ⸀ ⸁ ⸂ ⸃ ⸄ ⸅ ⸆ ⸇ ⸈ ⸉ ⸊ ⸋ ⸌ ⸍ ⸎ ⸏ ⸐ ⸑ ⸒ ⸓ ⸔ ⸕ ⸖ ⸗ ⸘ ⸙ ⸚ ⸛ ⸜ ⸝ ⸞ ⸟ ⸠ ⸡ ⸢ ⸣ ⸤ ⸥ ⸦ ⸧ ⸨ ⸩ ⸪ ⸫ ⸬ ⸭ ⸮ ⸰ ⸱ ⸲ ⸳ ⸴ ⸵ ⸶ ⸷ ⸸ ⸹ ⸺ ⸻ 、 。 〃 〈 〉 《 》 「 」 『 』 【 】 〔 〕 〖 〗 〘 〙 〚 〛 〜 〝 〞 〟 〰 〽 ゠ ・ ꙳ ꙾ ﴾ ﴿ ︰ ︱ ︲ ︳ ︴ ︵ ︶ ︷ ︸ ︹ ︺ ︻ ︼ ︽ ︾ ︿ ﹀ ﹁ ﹂ ﹃ ﹄ ﹅ ﹆ ﹉ ﹊ ﹋ ﹌ ﹍ ﹎ ﹏ ﹐ ﹑ ﹒ ﹔ ﹕ ﹖ ﹗ ﹘ ﹙ ﹚ ﹛ ﹜ ﹝ ﹞ ﹟ ﹠ ﹡ ﹣ ﹨ ﹪ ﹫ ! " # % & ' ( ) * , - . / : ; ? @ [ \ ] _ { } ⦅ ⦆ 。 「 」 、 ・
  13. ! " # % & ' ( ) * ,

    - . / : ; ? @ [ \ ] _ { } ¡ § « ¶ · » ¿ ; · ՚ ՛ ՜ ՝ ՞ ՟ ։ ֊ ܍ ܌ ܋ ܊ ܉ ܈ ܇ ܆ ܅ ܄ ܃ ܂ ܁ ܀ ۔ ٭ ، ٫ ٪ ؟ ؞ ؛ ؍ ، ״ ׳ ׆ ׃ ׀ ־ । ॥ ॰ ෴ ๏ ๚ ๛ ༄ ༅ ༆ ༇ ༈ ༉ ༊ ་ ༌ ། ༎ ༏ ༐ ༑ ༒ ༔ ༺ ༻ ༼ ༽ ྅ ၊ ။ ၌ ၍ ၎ ၏ ჻ ፠ ፡ ። ፣ ፤ ፥ ፦ ፧ ፨ ᜵ ᜶ ។ ៕ ៖ ៘ ៙ ៚ ᨞ ᨟ ‐ ‑ ‒ – — ― ǁ ‗ ‘ ’ ‚ ‛ “ ” „ ‟ † ‡ • ‣ ․ ‥ … ‧ ‰ ‱ ′ ″ ‴ ‵ ‶ ‷ ‸ ‹ › ※ ‼ ‽ ‾ ‿ ⁀ ⁁ ⁂ ⁃ ⁅ ⁆ ⁇ ⁈ ⁉ ⁊ ⁋ ⁌ ⁍ ⁎ ⁏ ⁐ ⁑ ⁓ ⁔ ⁕ ⁖ ⁗ ⁘ ⁙ ⁚ ⁛ ⁜ ⁝ ⁞ ⁽ ⁾ ₍ ₎ ⌈ ⌉ ⌊ ⌋ 〈 〉 ❨ ❩ ❪ ❫ ❬ ❭ ❮ ❯ ❰ ❱ ❲ ❳ ❴ ❵ ⟅ ⟆ ⟦ ⟧ ⟨ ⟩ ⟪ ⟫ ⟬ ⟭ ⟮ ⟯ ⦃ ⦄ ⦅ ⦆ ⦇ ⦈ ⦉ ⦊ ⦋ ⦌ ⦍ ⦎ ⦏ ⦐ ⦑ ⦒ ⦓ ⦔ ⦕ ⦖ ⦗ ⦘ ⧘ ⧙ ⧚ ⧛ ⧼ ⧽ ⳾ ⳿ ⸀ ⸁ ⸂ ⸃ ⸄ ⸅ ⸆ ⸇ ⸈ ⸉ ⸊ ⸋ ⸌ ⸍ ⸎ ⸏ ⸐ ⸑ ⸒ ⸓ ⸔ ⸕ ⸖ ⸗ ⸘ ⸙ ⸚ ⸛ ⸜ ⸝ ⸞ ⸟ ⸠ ⸡ ⸢ ⸣ ⸤ ⸥ ⸦ ⸧ ⸨ ⸩ ⸪ ⸫ ⸬ ⸭ ⸮ ⸰ ⸱ ⸲ ⸳ ⸴ ⸵ ⸶ ⸷ ⸸ ⸹ ⸺ ⸻ 、 。 〃 〈 〉 《 》 「 」 『 』 【 】 〔 〕 〖 〗 〘 〙 〚 〛 〜 〝 〞 〟 〰 〽 ゠ ・ ꙳ ꙾ ﴾ ﴿ ︰ ︱ ︲ ︳ ︴ ︵ ︶ ︷ ︸ ︹ ︺ ︻ ︼ ︽ ︾ ︿ ﹀ ﹁ ﹂ ﹃ ﹄ ﹅ ﹆ ﹉ ﹊ ﹋ ﹌ ﹍ ﹎ ﹏ ﹐ ﹑ ﹒ ﹔ ﹕ ﹖ ﹗ ﹘ ﹙ ﹚ ﹛ ﹜ ﹝ ﹞ ﹟ ﹠ ﹡ ﹣ ﹨ ﹪ ﹫ ! " # % & ' ( ) * , - . / : ; ? @ [ \ ] _ { } ⦅ ⦆ 。 「 」 、 ・
  14. CLDR punctuation

  15. characters: exemplarCharacters type: punctuation - ‐ – — , ;

    : ! ? . … ' ‘ ’ " “ ” ( ) [ ] § @ * / & # † ‡ ′ ″
  16. characters: exemplarCharacters type: punctuation - ‐ – — , ;

    : ! ? . … ' ‘ ’ " “ ” ( ) [ ] § @ * / & # † ‡ ′ ″ en
  17. characters: exemplarCharacters type: punctuation - ‐ – — , ;

    : ! ? . … ’ ' “ ” « » ( ) [ ] § @ * / & # † ‡ fr
  18. characters: exemplarCharacters type: punctuation ‾ __ -- ‐ — ―

    〜 ・ ・ ,, 、、 ;; :: !! ?? .. ‥ … 。。 ' ‘ ’ "" “ ” (( )) [[ ]] {{ }} 〈 〉 《 》 「「 」」 『 』 【 】 〔 〕 ǁ § ¶ @@ ** // \\ && ## %% ‰ † ‡ ′ ″ 〃 ※ ja
  19. characters: exemplarCharacters type: numbers - , . % ‰ +

    0 1 2 3 4 5 6 7 8 9 en
  20. delimiters: quotationStart “ en

  21. delimiters: quotationStart quotationEnd “ ” en

  22. delimiters: quotationStart quotationEnd « » fr

  23. delimiters: quotationStart quotationEnd 「 」 ja

  24. delimiters: alternateQuotationStart ‘ en

  25. delimiters: alternateQuotationStart alternateQuotationEnd ‘ ’ en

  26. listPatterns: listPatternPart {0}, {1} en

  27. {0}/{1} units: unitLength (type: short) compoundUnit (type: per) en

  28. numbers: symbols decimal . en

  29. numbers: symbols group , en

  30. numbers: symbols plusSign + en

  31. numbers: symbols percentSign % en

  32. software libraries

  33. software libraries ICU

  34. software libraries Globalize

  35. software libraries Intl

  36. software libraries libphonenumber

  37. software libraries &c.

  38. opportunities for standardization

  39. opportunities for standardization :

  40. … opportunities for standardization

  41. × opportunities for standardization

  42. ( ) opportunities for standardization

  43. input / output

  44. input / output validation

  45. input / output parsing

  46. input / output camparison

  47. input / output formatting

  48. input / output rendering

  49. To localize, or not to localize

  50. To localize, or not to localize Hardcode

  51. To localize, or not to localize Hardcode Translate

  52. To localize, or not to localize Hardcode Translate Format

  53. None
  54. None
  55. None
  56. None
  57. None
  58. None
  59. STYLE GUIDE Brazilian Portuguese (pt-BR)

  60. ! « ¿ ‽ ⁂ 『 ※ ٪ † 。

    & 〜
  61. k « h ‽ ⁂ 『 u o t a

    y n