SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Kürzlich hochgeladen

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Kürzlich hochgeladen (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Empfohlen

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
 

Empfohlen (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

Hinweis der Redaktion

  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