SlideShare a Scribd company logo
1 of 35
Download to read offline
S
                 INTERNATIONALIZING
                  YOUR APPLICATION
                          by Renan Gonçalves




Sunday, September 4, 11
WHO IS THIS GUY?


                   Software Engineer

                          TrueServer B.V.

                   CakePHP since 2007

                          Contributing since 2008

                   Brazilian




Sunday, September 4, 11
LOCALIZATION


                   Adapting or converting the application to be used on
                   a particular locale

                   Locale defines:

                          User’s language

                          Country




Sunday, September 4, 11
LOCALE
                          language[_territory][.charset][@modifier]

                   en

                   en_US

                   cs_CZ.UTF-8

                   pt_BR@CE




Sunday, September 4, 11
LOCALE

                          en_GB     en_GB@oed                en_CA                   en_US

                      analyse         analyse              analy[sz]e               analyze

                   behaviour         behaviour             behaviour               behavior

                          centre       centre                 centre                 center

                      defence         defence               defence                 defense

                globalisation       globalization       globalization           globalization

                          realise      realize               realize                realize
                                       http://en.wikipedia.org/wiki/En-GB-oed#Language_tag_comparison




Sunday, September 4, 11
INTERNATIONALIZATION

                   Supporting international data

                          Text Content

                          Numbers

                          Currencies

                          Dates / Times

                          Calendars


Sunday, September 4, 11
LANGUAGE

                   Different systems of numerals

                          decimal (10), vigesimal (20), octogesimal (80), etc

                   Writing direction

                          left to right and right to left

                   Graphical representation of texts

                   Audio


Sunday, September 4, 11
WRITING CONVENTIONS


                   Date/time format

                          Different calendars

                   Time zones

                   Number formatting

                   Difference in symbols




Sunday, September 4, 11
CULTURE




Sunday, September 4, 11
CULTURE

                   Images and colors

                   Telephone numbers

                   Currency

                          Symbols, format

                   Weights and measures

                   Government assigned numbers


Sunday, September 4, 11
OTHERS



                   National variants of languages

                   Local content

                   Order of sorting (collation)




Sunday, September 4, 11
WHY CARE?




             World, 7 billion.
             China, 1.3 billion. US, 312 million. Brazil, 190 million. UK, 62 million. Netherlands, 17 million.




Sunday, September 4, 11
OKAY, LETS RULE THE WORLD
                SUPPORT ALL LOCALES!




Sunday, September 4, 11
NOT THAT EASY!



                   Countries in the world (249)

                   Languages in the world (6,309)

                   + variants


                                      http://en.wikipedia.org/wiki/Lists_of_countries_and_territories
                                                    http://en.wikipedia.org/wiki/Lists_of_languages




Sunday, September 4, 11
FEEL AT HOME




                   Small changes, big impact




Sunday, September 4, 11
PERSONAL NAMES
                          AROUND THE WORLD


                   Björk Guðmundsdóttir (Icelandic)

                   Isa bin Osman (Malay)

                   John Quincy Adams




Sunday, September 4, 11
PERSONAL NAMES
                          AROUND THE WORLD
               First name        Middle name                            Last name
                Renan         Gonçalves Cardoso                         de Lima

               First name          Last name
                Renan         Gonçalves Cardoso de Lima

               Initials         Between names                           Last name
                R. G. C.        de                               Lima

                                  http://www.w3.org/International/questions/qa-personal-names




Sunday, September 4, 11
PERSONAL NAMES
                          AROUND THE WORLD
                Full name
                Renan Gonçalves Cardoso de Lima

                What should we call you?
                Renan




Sunday, September 4, 11
PERSONAL NAMES
                          AROUND THE WORLD
                   Björk Guðmundsdóttir (Icelandic)

                          Ms. Björk or Ms. Björk Guðmundsdóttir

                   Isa bin Osman (Malay)

                          Mr. Isa

                   John Quincy Adams

                          Mr. Adams


Sunday, September 4, 11
HOW?




Sunday, September 4, 11
PROBLEMS



                   The context can change

                   Hard to find exactly what you want

                   Hard to know what it means




Sunday, September 4, 11
PLURAL




                            https://developer.mozilla.org/en/Localization_and_Plurals




Sunday, September 4, 11
CAKEPHP WAY




                   Using i18n and L10n libraries

                   Using Translate Behavior




Sunday, September 4, 11
I18N




                          Others functions: __d(), __dn(), __dc(), __dcn(), __c()
                                           http://book.cakephp.org/view/1229/Internationalizing-Your-Application




Sunday, September 4, 11
I18N

                   $ cake i18n extract

                          Locale/default.pot

                               #: FileName.php:lineNumber
                               msgid "Welcome to our application!"
                               msgstr ""

                               #: FileName.php:lineNumber
                               msgid "You have %d item in your basket."
                               msgid_plural "You have %d items in your basket."
                               msgstr[0] ""
                               msgstr[1] ""



Sunday, September 4, 11
POEDIT




Sunday, September 4, 11
I18N




Sunday, September 4, 11
TRANSLATE BEHAVIOR




Sunday, September 4, 11
TRANSLATE BEHAVIOR




Sunday, September 4, 11
L10N




                   Manage the locales

                   Identify the locale




Sunday, September 4, 11
L10N
                   Request

                          HTTP_ACCEPT_LANGUAGE

                          IP to country (GeoIP Lite)

                   URL parameter

                          book.cakephp.org/pt

                   URL

                          book.cakephp.jp

Sunday, September 4, 11
GOODIES



                   Localized plugin

                          Localized validation

                   https://github.com/cakephp/localized




Sunday, September 4, 11
TROUBLESHOOTING

                   Right encoding

                          unicode

                          html metatag

                          database charset

                          file charset

                   Configure::write(‘App.encoding’, ‘UTF-8’);


Sunday, September 4, 11
QUESTIONS?




Sunday, September 4, 11
THANK YOU!



                   renan.saddam@cakephp.org

                   @renan_saddam on twitter and #cakephp

                   http://github.com/renansaddam




Sunday, September 4, 11

More Related Content

Recently uploaded

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Recently uploaded (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Featured

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Internationalizing your application

  • 1. S INTERNATIONALIZING YOUR APPLICATION by Renan Gonçalves Sunday, September 4, 11
  • 2. WHO IS THIS GUY? Software Engineer TrueServer B.V. CakePHP since 2007 Contributing since 2008 Brazilian Sunday, September 4, 11
  • 3. LOCALIZATION Adapting or converting the application to be used on a particular locale Locale defines: User’s language Country Sunday, September 4, 11
  • 4. LOCALE language[_territory][.charset][@modifier] en en_US cs_CZ.UTF-8 pt_BR@CE Sunday, September 4, 11
  • 5. LOCALE en_GB en_GB@oed en_CA en_US analyse analyse analy[sz]e analyze behaviour behaviour behaviour behavior centre centre centre center defence defence defence defense globalisation globalization globalization globalization realise realize realize realize http://en.wikipedia.org/wiki/En-GB-oed#Language_tag_comparison Sunday, September 4, 11
  • 6. INTERNATIONALIZATION Supporting international data Text Content Numbers Currencies Dates / Times Calendars Sunday, September 4, 11
  • 7. LANGUAGE Different systems of numerals decimal (10), vigesimal (20), octogesimal (80), etc Writing direction left to right and right to left Graphical representation of texts Audio Sunday, September 4, 11
  • 8. WRITING CONVENTIONS Date/time format Different calendars Time zones Number formatting Difference in symbols Sunday, September 4, 11
  • 10. CULTURE Images and colors Telephone numbers Currency Symbols, format Weights and measures Government assigned numbers Sunday, September 4, 11
  • 11. OTHERS National variants of languages Local content Order of sorting (collation) Sunday, September 4, 11
  • 12. WHY CARE? World, 7 billion. China, 1.3 billion. US, 312 million. Brazil, 190 million. UK, 62 million. Netherlands, 17 million. Sunday, September 4, 11
  • 13. OKAY, LETS RULE THE WORLD SUPPORT ALL LOCALES! Sunday, September 4, 11
  • 14. NOT THAT EASY! Countries in the world (249) Languages in the world (6,309) + variants http://en.wikipedia.org/wiki/Lists_of_countries_and_territories http://en.wikipedia.org/wiki/Lists_of_languages Sunday, September 4, 11
  • 15. FEEL AT HOME Small changes, big impact Sunday, September 4, 11
  • 16. PERSONAL NAMES AROUND THE WORLD Björk Guðmundsdóttir (Icelandic) Isa bin Osman (Malay) John Quincy Adams Sunday, September 4, 11
  • 17. PERSONAL NAMES AROUND THE WORLD First name Middle name Last name Renan Gonçalves Cardoso de Lima First name Last name Renan Gonçalves Cardoso de Lima Initials Between names Last name R. G. C. de Lima http://www.w3.org/International/questions/qa-personal-names Sunday, September 4, 11
  • 18. PERSONAL NAMES AROUND THE WORLD Full name Renan Gonçalves Cardoso de Lima What should we call you? Renan Sunday, September 4, 11
  • 19. PERSONAL NAMES AROUND THE WORLD Björk Guðmundsdóttir (Icelandic) Ms. Björk or Ms. Björk Guðmundsdóttir Isa bin Osman (Malay) Mr. Isa John Quincy Adams Mr. Adams Sunday, September 4, 11
  • 21. PROBLEMS The context can change Hard to find exactly what you want Hard to know what it means Sunday, September 4, 11
  • 22. PLURAL https://developer.mozilla.org/en/Localization_and_Plurals Sunday, September 4, 11
  • 23. CAKEPHP WAY Using i18n and L10n libraries Using Translate Behavior Sunday, September 4, 11
  • 24. I18N Others functions: __d(), __dn(), __dc(), __dcn(), __c() http://book.cakephp.org/view/1229/Internationalizing-Your-Application Sunday, September 4, 11
  • 25. I18N $ cake i18n extract Locale/default.pot #: FileName.php:lineNumber msgid "Welcome to our application!" msgstr "" #: FileName.php:lineNumber msgid "You have %d item in your basket." msgid_plural "You have %d items in your basket." msgstr[0] "" msgstr[1] "" Sunday, September 4, 11
  • 30. L10N Manage the locales Identify the locale Sunday, September 4, 11
  • 31. L10N Request HTTP_ACCEPT_LANGUAGE IP to country (GeoIP Lite) URL parameter book.cakephp.org/pt URL book.cakephp.jp Sunday, September 4, 11
  • 32. GOODIES Localized plugin Localized validation https://github.com/cakephp/localized Sunday, September 4, 11
  • 33. TROUBLESHOOTING Right encoding unicode html metatag database charset file charset Configure::write(‘App.encoding’, ‘UTF-8’); Sunday, September 4, 11
  • 35. THANK YOU! renan.saddam@cakephp.org @renan_saddam on twitter and #cakephp http://github.com/renansaddam Sunday, September 4, 11

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. Also know as L10n (L+10 letters+n)\nAlso defines any particular preferences (ie. region, monetary values, etc)\n
  8. Also know as L10n (L+10 letters+n)\nAlso defines any particular preferences (ie. region, monetary values, etc)\n
  9. Also know as L10n (L+10 letters+n)\nAlso defines any particular preferences (ie. region, monetary values, etc)\n
  10. Also know as L10n (L+10 letters+n)\nAlso defines any particular preferences (ie. region, monetary values, etc)\n
  11. CE stands for Ceara\n- an state in brazil\n- slangs\n
  12. OED stands for Oxford English Dictionary spelling\n
  13. \n
  14. Vigesimal: French (from Celtic), Danish\nOctogesimal: Supyire (spoken in Mali, Africa)\nRight to left: Persian, Hebrew, etc\n
  15. Vigesimal: French (from Celtic), Danish\nOctogesimal: Supyire (spoken in Mali, Africa)\nRight to left: Persian, Hebrew, etc\n
  16. Vigesimal: French (from Celtic), Danish\nOctogesimal: Supyire (spoken in Mali, Africa)\nRight to left: Persian, Hebrew, etc\n
  17. Vigesimal: French (from Celtic), Danish\nOctogesimal: Supyire (spoken in Mali, Africa)\nRight to left: Persian, Hebrew, etc\n
  18. Vigesimal: French (from Celtic), Danish\nOctogesimal: Supyire (spoken in Mali, Africa)\nRight to left: Persian, Hebrew, etc\n
  19. Vigesimal: French (from Celtic), Danish\nOctogesimal: Supyire (spoken in Mali, Africa)\nRight to left: Persian, Hebrew, etc\n
  20. Date format: Day/Month/Year, Month/Day/Year\nDifferent calendars: Chinese calendar, starts late January or early February\nDifference in symbols: “ (double-quotes) for English, « (guillemets) in French\n
  21. Date format: Day/Month/Year, Month/Day/Year\nDifferent calendars: Chinese calendar, starts late January or early February\nDifference in symbols: “ (double-quotes) for English, « (guillemets) in French\n
  22. Date format: Day/Month/Year, Month/Day/Year\nDifferent calendars: Chinese calendar, starts late January or early February\nDifference in symbols: “ (double-quotes) for English, « (guillemets) in French\n
  23. Date format: Day/Month/Year, Month/Day/Year\nDifferent calendars: Chinese calendar, starts late January or early February\nDifference in symbols: “ (double-quotes) for English, « (guillemets) in French\n
  24. Date format: Day/Month/Year, Month/Day/Year\nDifferent calendars: Chinese calendar, starts late January or early February\nDifference in symbols: “ (double-quotes) for English, « (guillemets) in French\n
  25. \n
  26. Government assigned numbers: Social Security number (US), National Insurance number (UK), etc\n
  27. Government assigned numbers: Social Security number (US), National Insurance number (UK), etc\n
  28. Government assigned numbers: Social Security number (US), National Insurance number (UK), etc\n
  29. Government assigned numbers: Social Security number (US), National Insurance number (UK), etc\n
  30. Government assigned numbers: Social Security number (US), National Insurance number (UK), etc\n
  31. Government assigned numbers: Social Security number (US), National Insurance number (UK), etc\n
  32. Local content: relevant news to your region\n
  33. Local content: relevant news to your region\n
  34. Local content: relevant news to your region\n
  35. World is larger than US or UK - China (19%), Brazil (3%), UK (0.9%), NL (0.24%)\nCompare English speaker population to world population\nCompare Dutch speaker population to world and English population\n
  36. \n
  37. Impossible.\nChoose your target.\n
  38. Impossible.\nChoose your target.\n
  39. Impossible.\nChoose your target.\n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. Context: maybe a message is one section needs to be different than in other section, so you end up with welcome2\nFind: does the string exist in the array?\nMeans: what does welcome contains?\n
  48. Context: maybe a message is one section needs to be different than in other section, so you end up with welcome2\nFind: does the string exist in the array?\nMeans: what does welcome contains?\n
  49. Context: maybe a message is one section needs to be different than in other section, so you end up with welcome2\nFind: does the string exist in the array?\nMeans: what does welcome contains?\n
  50. Brazil: 0 item instead of 0 items\nAsian (Chinese, Japanese, Korean, Vietnamese): 1 form of plural\nPolish: 3 forms of plural\nArabic: 6 forms of plural\nOthers: 4 and 5 forms of plural\n
  51. \n
  52. Fallback: uses the given text if there is not any other\nCategories: Monetary, numeric, time, etc\n
  53. \n
  54. \n
  55. Not need to do in __construct or something\n
  56. \n
  57. No extra code, that is it\n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. Configure your editor to write in unicode\n
  69. Configure your editor to write in unicode\n
  70. \n
  71. \n