SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Building
Multi-language (i18n) Flex
          Applications



          Thomas Burleson
       Senior Architect / Consultant




                                       March 6, 2010
First some acronyms...
 i18n[Internationalization]
   entire business processes focused on software product support for other languages


         • documentation
         •   translation,
         •   quality assurance,
         •   support,
         •   etc.

 l10n [Localization]
   Adaptation of software to 1 or more specific locales and culture contexts.

         • Text translation
         • Text Expansion and Flow
         • Changes to images, colors, and sounds
         • Changes to dynamic content and URLs
         • Changes to fonts and styles
         • etc.
English   |   Spanish | French |   Japanese   |   Chinese
Multi-language?
 Want to release your product in different languages?

    • Could make separate build/codebase for each language


    • Could build support for multi-language into your product.




 Could load the localized content from a...

    • text file
    • compiled resource bundle (for text, images, data, etc)
    • remote database
    • remote web service
Live
     Sample
 Registration Demo
 English & Spanish Support
 Startup Locale Detection
Registration Demo
    before l10n




  Review App hierarchy
  Review View source code
  Review View design mode
Registration Demo
             with
 Traditional l10n

 Create Properties files
 Compile Properties to Bundles
 Embed or Load Bundles
 Using the ResourceManager



 Review Impacts on Source
 Review Impacts on Design
 Consider Impacts on App
Registration Demo
             with
 Traditional l10n

 Create Properties files
 Compile Properties to Bundles
 Embed or Load Bundles
 Using the ResourceManager
     ... change all your views!


 Review Impacts on Source
 Review Impacts on Design
 Consider Impacts on App
Registration Demo
             with
 Traditional l10n

 Create Properties files
 Compile Properties to Bundles
 Embed or Load Bundles
 Using the ResourceManager



 Review Impacts on Source
 Review Impacts on Design
 Consider Impacts on App
Consider impacts...




     ... mangled design views!
...using ResourceManager
Using ResourceManager




01/21/10                    ThomasBurleson@gmail.com
Using ResourceManager




01/21/10                    ThomasBurleson@gmail.com
Consider IOC...
      Use Inversion of Control (IOC)



control instances "connect"            From   PULL
  to ResourceManager to
   access (pull) localized
          content.


                                             localized content is
                      To   PUSH              magically "injected"
                                           into control instances.


      With IOC, we can


               • Centralize all injections of localized content
               • Centralize all mappings from properties
IOC   with   l10n Injection




01/21/10                           ThomasBurleson@gmail.com
Injection   with   LocalizationMaps




01/21/10                       ThomasBurleson@gmail.com
l10n Injection
 Understanding concepts of
       •   LocalizationMap
       •   Resource Injectors
       •   Resource Proxies
       •   Smart ResourceInjectors

 Create your custom LocalizationMap

   1. Inject text to registered instances
   2. Inject parameterized Values
   3. Inject to ALL instances
   4. Inject localized bitmaps
   5. Inject skins
Registration Demo
with l10n Injection




 Create Properties files
 Compile Properties to Bundles
 Embed or Load Bundles
 Using the ResourceManager
 Create LocalizationMap registry


 Review Impacts on View Source
 Review Impacts on Design
 Consider Impacts on App
Registration Demo
with l10n Injection




 Create Properties files
 Compile Properties to Bundles
 Embed or Load Bundles
 Using the ResourceManager
 Create LocalizationMap registry



 Review Impacts on View Source
 Review Impacts on Design
 Consider Impacts on App
Registration Demo
with l10n Injection




 Create Properties files
 Compile Properties to Bundles
 Embed or Load Bundles
 Using the ResourceManager



 Review Impacts on View Source
 Review Impacts on Design
 Consider Impacts on App
LocalizationMaps
 Learned how to us LocalizationMaps in your App


 When does the injection occur?

           1. When ResourceManager announces locale changes.
           2. When instances are created           (if...)

           3. When parameterized values change     (if...)

           4. When view states change              (if...)
LocalizationMaps
 Extra considerations

   1. Dynamically loading Bundles
   2. Font Dependencies and Unicode
   3. Compiling with Unicode
   4. Dynamically loading Fonts



 Issues still remaining...

   1. Text Expansion
   2. Text Translation & Online Tools
   3. Databases vs Bundles
 Use ColdFusion as remote localization server:
      1. RESTful Service for dynamic xml as virtual bundles

      2. Performed at the business services layer

      3. Completely transparent to LocalizationMaps and your app.

      4. Can load dynamically compiled fonts




 Use ColdFusion for Translation services:
      1. Save/load translations of properties files (key/value pairs).

      2. Duplicate for other locales

      3. Upload content for localized bitmaps and other assets
Thomas Burleson
                                                        Senior Architect / Consultant



1. Source code:     http://github.com/ThomasBurleson/l10n_Injection

2. Sample apps:     http://github.com/ThomasBurleson/l10nInjection_Samples

3. Personal blog: http://www.gridlinked.info/

4. Intro to i18n:   http://www.tinyurl.com/ykru3yp




                                                                   ThomasBurleson@gmail.com

Weitere ähnliche Inhalte

Ähnlich wie Building Multilanguage (i18n) Flex Applications

How to Deliver Internal Communications with a SharePoint Intranet
How to Deliver Internal Communications with a SharePoint IntranetHow to Deliver Internal Communications with a SharePoint Intranet
How to Deliver Internal Communications with a SharePoint IntranetCreative Sharepoint
 
Docker and Containers in the Cloud
Docker and Containers in the CloudDocker and Containers in the Cloud
Docker and Containers in the CloudAnthony Shaw
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Decksschwarzhoff
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and WatsonJake Peyser
 
IBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API LabIBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API LabColin McCabe
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone WayTsungWei Hu
 
Localization for iOS
Localization for iOSLocalization for iOS
Localization for iOSPawan Ramteke
 
Branding & Internationalization with the NetBeans Platform
Branding & Internationalization with the NetBeans PlatformBranding & Internationalization with the NetBeans Platform
Branding & Internationalization with the NetBeans PlatformToni Epple
 
Sharepoint tips and tricks
Sharepoint tips and tricksSharepoint tips and tricks
Sharepoint tips and tricksJeff Wisniewski
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project ManagementMaria Asnes
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project Managementbarakdanin
 
Register For BOFC Live Webinar – Bulk Clone Operations
Register For BOFC Live Webinar – Bulk Clone OperationsRegister For BOFC Live Webinar – Bulk Clone Operations
Register For BOFC Live Webinar – Bulk Clone OperationsAtocloud
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open SourceAxway Appcelerator
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 
Localization (l10n) - The Process
Localization (l10n) - The ProcessLocalization (l10n) - The Process
Localization (l10n) - The ProcessSundeep Anand
 

Ähnlich wie Building Multilanguage (i18n) Flex Applications (20)

How to Deliver Internal Communications with a SharePoint Intranet
How to Deliver Internal Communications with a SharePoint IntranetHow to Deliver Internal Communications with a SharePoint Intranet
How to Deliver Internal Communications with a SharePoint Intranet
 
Staying Global in an Agile World Presentation
Staying Global in an Agile World PresentationStaying Global in an Agile World Presentation
Staying Global in an Agile World Presentation
 
Docker and Containers in the Cloud
Docker and Containers in the CloudDocker and Containers in the Cloud
Docker and Containers in the Cloud
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and Watson
 
IBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API LabIBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API Lab
 
Build Python CMS The Plone Way
Build Python CMS The Plone WayBuild Python CMS The Plone Way
Build Python CMS The Plone Way
 
flex_4_tutorials
flex_4_tutorialsflex_4_tutorials
flex_4_tutorials
 
flex_4_tutorials
flex_4_tutorialsflex_4_tutorials
flex_4_tutorials
 
DEV-1467 - Darwino
DEV-1467 - DarwinoDEV-1467 - Darwino
DEV-1467 - Darwino
 
Localization for iOS
Localization for iOSLocalization for iOS
Localization for iOS
 
Branding & Internationalization with the NetBeans Platform
Branding & Internationalization with the NetBeans PlatformBranding & Internationalization with the NetBeans Platform
Branding & Internationalization with the NetBeans Platform
 
Sharepoint tips and tricks
Sharepoint tips and tricksSharepoint tips and tricks
Sharepoint tips and tricks
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project Management
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project Management
 
Register For BOFC Live Webinar – Bulk Clone Operations
Register For BOFC Live Webinar – Bulk Clone OperationsRegister For BOFC Live Webinar – Bulk Clone Operations
Register For BOFC Live Webinar – Bulk Clone Operations
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
01 introduction
01 introduction01 introduction
01 introduction
 
Localization (l10n) - The Process
Localization (l10n) - The ProcessLocalization (l10n) - The Process
Localization (l10n) - The Process
 

Kürzlich hochgeladen

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Building Multilanguage (i18n) Flex Applications

  • 1. Building Multi-language (i18n) Flex Applications Thomas Burleson Senior Architect / Consultant March 6, 2010
  • 2. First some acronyms...  i18n[Internationalization] entire business processes focused on software product support for other languages • documentation • translation, • quality assurance, • support, • etc.  l10n [Localization] Adaptation of software to 1 or more specific locales and culture contexts. • Text translation • Text Expansion and Flow • Changes to images, colors, and sounds • Changes to dynamic content and URLs • Changes to fonts and styles • etc.
  • 3. English | Spanish | French | Japanese | Chinese
  • 4. Multi-language?  Want to release your product in different languages? • Could make separate build/codebase for each language • Could build support for multi-language into your product.  Could load the localized content from a... • text file • compiled resource bundle (for text, images, data, etc) • remote database • remote web service
  • 5. Live Sample  Registration Demo  English & Spanish Support  Startup Locale Detection
  • 6. Registration Demo before l10n  Review App hierarchy  Review View source code  Review View design mode
  • 7. Registration Demo with Traditional l10n  Create Properties files  Compile Properties to Bundles  Embed or Load Bundles  Using the ResourceManager  Review Impacts on Source  Review Impacts on Design  Consider Impacts on App
  • 8. Registration Demo with Traditional l10n  Create Properties files  Compile Properties to Bundles  Embed or Load Bundles  Using the ResourceManager ... change all your views!  Review Impacts on Source  Review Impacts on Design  Consider Impacts on App
  • 9. Registration Demo with Traditional l10n  Create Properties files  Compile Properties to Bundles  Embed or Load Bundles  Using the ResourceManager  Review Impacts on Source  Review Impacts on Design  Consider Impacts on App
  • 10. Consider impacts... ... mangled design views!
  • 12. Using ResourceManager 01/21/10 ThomasBurleson@gmail.com
  • 13. Using ResourceManager 01/21/10 ThomasBurleson@gmail.com
  • 14. Consider IOC...  Use Inversion of Control (IOC) control instances "connect" From PULL to ResourceManager to access (pull) localized content. localized content is To PUSH magically "injected" into control instances.  With IOC, we can • Centralize all injections of localized content • Centralize all mappings from properties
  • 15. IOC with l10n Injection 01/21/10 ThomasBurleson@gmail.com
  • 16. Injection with LocalizationMaps 01/21/10 ThomasBurleson@gmail.com
  • 17. l10n Injection  Understanding concepts of • LocalizationMap • Resource Injectors • Resource Proxies • Smart ResourceInjectors  Create your custom LocalizationMap 1. Inject text to registered instances 2. Inject parameterized Values 3. Inject to ALL instances 4. Inject localized bitmaps 5. Inject skins
  • 18. Registration Demo with l10n Injection  Create Properties files  Compile Properties to Bundles  Embed or Load Bundles  Using the ResourceManager  Create LocalizationMap registry  Review Impacts on View Source  Review Impacts on Design  Consider Impacts on App
  • 19. Registration Demo with l10n Injection  Create Properties files  Compile Properties to Bundles  Embed or Load Bundles  Using the ResourceManager  Create LocalizationMap registry  Review Impacts on View Source  Review Impacts on Design  Consider Impacts on App
  • 20. Registration Demo with l10n Injection  Create Properties files  Compile Properties to Bundles  Embed or Load Bundles  Using the ResourceManager  Review Impacts on View Source  Review Impacts on Design  Consider Impacts on App
  • 21. LocalizationMaps  Learned how to us LocalizationMaps in your App  When does the injection occur? 1. When ResourceManager announces locale changes. 2. When instances are created (if...) 3. When parameterized values change (if...) 4. When view states change (if...)
  • 22. LocalizationMaps  Extra considerations 1. Dynamically loading Bundles 2. Font Dependencies and Unicode 3. Compiling with Unicode 4. Dynamically loading Fonts  Issues still remaining... 1. Text Expansion 2. Text Translation & Online Tools 3. Databases vs Bundles
  • 23.  Use ColdFusion as remote localization server: 1. RESTful Service for dynamic xml as virtual bundles 2. Performed at the business services layer 3. Completely transparent to LocalizationMaps and your app. 4. Can load dynamically compiled fonts  Use ColdFusion for Translation services: 1. Save/load translations of properties files (key/value pairs). 2. Duplicate for other locales 3. Upload content for localized bitmaps and other assets
  • 24. Thomas Burleson Senior Architect / Consultant 1. Source code: http://github.com/ThomasBurleson/l10n_Injection 2. Sample apps: http://github.com/ThomasBurleson/l10nInjection_Samples 3. Personal blog: http://www.gridlinked.info/ 4. Intro to i18n: http://www.tinyurl.com/ykru3yp ThomasBurleson@gmail.com

Hinweis der Redaktion