SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Drupal 7+ i18n module
        Jose A. Reyero


       http://reyero.net



  Brussels Dev Days - February, 2011
Drupal 5
                 Translations           E-mails


                   Content            Taxonomy                Profiles




                 Configurable
                                      Menu items               Blocks
                   Strings

                 Localization          Variables

                  Language           Language
                 Management          Negotiation             Path aliases




Jose A Reyero - Drupal Dev Days – Brussels – February 2011               http://reyero.net
Drupal 6

                 Translations           E-mails


                   Content            Taxonomy                Profiles




                 Configurable
                                      Menu items               Blocks
                   Strings

                 Localization          Variables

                  Language           Language
                 Management          Negotiation             Path aliases




Jose A Reyero - Drupal Dev Days – Brussels – February 2011               http://reyero.net
Drupal 7

                 Translations           E-mails                Entities


                   Content            Taxonomy                 Profiles




                 Configurable
                                      Menu items               Blocks
                   Strings

                 Localization          Variables               Fields

                  Language           Language
                 Management          Negotiation             Path aliases




Jose A Reyero - Drupal Dev Days – Brussels – February 2011                http://reyero.net
Drupal 7

                 Translations           E-mails



                                         Fields                Entities



                 Configurable
                                      Menu items               Blocks
                   Strings

                 Localization          Variables

                  Language           Language
                 Management          Negotiation             Path aliases




Jose A Reyero - Drupal Dev Days – Brussels – February 2011                http://reyero.net
i18n for Drupal 7
    ●   Use new core features
              –   Entities, Fields
              –   New DB API (Query alter)
              –   Page rendering
    ●   Work with other modules: Translation
    ●   Simplify. Reuse.




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
i18n for Drupal 7



   This is an API module,
                          not a Multilingual Solution.




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
API module / Solution




       ●   Building blocks                     ●   Site specific.
       ●   Modular features                    ●   Worflow
       ●   No assumptions!                     ●   Who translates
                                                   what, how?


Jose A Reyero - Drupal Dev Days – Brussels – February 2011    http://reyero.net
Rosetta Stone, 193 B.C




              3 languages, 100% translated
                                         http://reyero.net
Jose A Reyero - Drupal Dev Days – Brussels – February 2011
Modules and APIs




Adrian Rossouw: “Drupal Teddy Bear”, http://developmentseed.org
to build Solutions.




Adrian Rossouw: “Drupal Teddy Bear”, http://developmentseed.org
Solutions

      ●   Translation Management
      ●   Custom, built with i18n + …
      ●   Multilingual install profile?

                  http://drupal.org/project/drupali18n




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
The translation puzzle




Or how to build a multilingual solution
Toolset
                                        Variable translation
                                         String translation
           i18n                           Translation set
                                         Content Selection

      translation
                                            Field translation


          other                                   Workflow
                                                    UI
Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Multilingual
     menus?




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Menu items

      ●   Added language field
      ●   Visibility depends on language
      ●   User defined items are translated




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Multilingual Blocks




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Blocks
      ●   Set language to blocks
      ●   Per language visibility
      ●   Translatable blocks




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Multilingual Taxonomy?




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Taxonomy
      ●   Per vocabulary options:
                –   Multilingual
                –   Translatable


      ●   Terms can be:
                –   Localizable (strings)
                –   Multilingual (translation set)



Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
User defined Strings




          Multilingual Scrabble http://flickr.com/photos/urbanmkr/354776635/

Jose A Reyero - Drupal Dev Days – Brussels – February 2011                     http://reyero.net
Translate interface




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
String translation

      ●   Using same UI as Locale
      ●   Textgroups (import, export)
      ●   Localization server ?


          i18n_string($name, $string, $options)
          –   $name = 'menu:item:1:title'
          –   $name = 'taxonomy:term:1:name'



Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
String translation (Security)




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Synchronization

      ●   Configurable per content type
      ●   Using Fields




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Language selection




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Variable translation




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Variable module
                    http://drupal.org/project/variable




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
User profiles


                  Hey, profiles are Fields now!




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Views?


                  http://drupal.org/project/i18n_views




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
#1

      i18n is an API module,

                                not a Multilingual Solution.

      http://drupal.org/project/i18n




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
#2

     Module developers:

                       Please declare your variables!


      http://drupal.org/project/variable




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Thank you
 Gracias ขอบคุณ Danke Obrigado Gràcies

                  Eskerrik asko Juspajaraña благодаря

 Hvala           आभारी हुँ   Dankon Tänan teid

             Takk Gratia tibi ago Graciñas Jag tackar

  Thank you Danku Merci дякую Arigato


Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net
Jose A. Reyero

                              http://reyero.net

                                 @josereyero




Jose A Reyero - Drupal Dev Days – Brussels – February 2011   http://reyero.net

Más contenido relacionado

La actualidad más candente

The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30Mahmoud Samir Fayed
 
Programming languages
Programming languagesProgramming languages
Programming languagesSimon Mui
 
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011camp_drupal_ua
 
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011camp_drupal_ua
 
Grade 10 introduction and history of programming
Grade 10   introduction and history of programmingGrade 10   introduction and history of programming
Grade 10 introduction and history of programmingRafael Balderosa
 
Computer Programming Overview
Computer Programming OverviewComputer Programming Overview
Computer Programming Overviewagorolabs
 

La actualidad más candente (9)

The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30
 
Drupal7 multilingual
Drupal7 multilingualDrupal7 multilingual
Drupal7 multilingual
 
Drupal entity translation
Drupal entity translationDrupal entity translation
Drupal entity translation
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011Grigory naumovets.multilingual sites.drupal camp kyiv 2011
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
 
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
 
Grade 10 introduction and history of programming
Grade 10   introduction and history of programmingGrade 10   introduction and history of programming
Grade 10 introduction and history of programming
 
Computer Programming Overview
Computer Programming OverviewComputer Programming Overview
Computer Programming Overview
 
ASSIGNMENT-II(a)
ASSIGNMENT-II(a)ASSIGNMENT-II(a)
ASSIGNMENT-II(a)
 

Destacado

Twig + drupal 8
Twig + drupal 8Twig + drupal 8
Twig + drupal 8Logan Farr
 
Drupal cross enterprise integration on an example of Sharepoint
Drupal cross enterprise integration on an example of SharepointDrupal cross enterprise integration on an example of Sharepoint
Drupal cross enterprise integration on an example of SharepointManuel Pistner
 
Content migration - CSV to Drupal 8
Content migration -  CSV to Drupal 8Content migration -  CSV to Drupal 8
Content migration - CSV to Drupal 8Hector Iribarne
 
Drupal services - Lemberg Solutions
Drupal services - Lemberg SolutionsDrupal services - Lemberg Solutions
Drupal services - Lemberg SolutionsLemberg Solutions
 
R Hadoop integration
R Hadoop integrationR Hadoop integration
R Hadoop integrationDzung Nguyen
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeSuzanne Dergacheva
 
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...Acquia
 
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...Srijan Technologies
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsJohn Smith
 

Destacado (9)

Twig + drupal 8
Twig + drupal 8Twig + drupal 8
Twig + drupal 8
 
Drupal cross enterprise integration on an example of Sharepoint
Drupal cross enterprise integration on an example of SharepointDrupal cross enterprise integration on an example of Sharepoint
Drupal cross enterprise integration on an example of Sharepoint
 
Content migration - CSV to Drupal 8
Content migration -  CSV to Drupal 8Content migration -  CSV to Drupal 8
Content migration - CSV to Drupal 8
 
Drupal services - Lemberg Solutions
Drupal services - Lemberg SolutionsDrupal services - Lemberg Solutions
Drupal services - Lemberg Solutions
 
R Hadoop integration
R Hadoop integrationR Hadoop integration
R Hadoop integration
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
 
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
 
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The Basics
 

Similar a Brussels Drupal Dev Days - Internationalization for Drupal 7 - Jose Reyero

Drupal Internationalization Presentation at OSCMS
Drupal Internationalization Presentation at OSCMS Drupal Internationalization Presentation at OSCMS
Drupal Internationalization Presentation at OSCMS DevelopmentSeed
 
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp sessionA whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp sessionJeffrey McGuire
 
Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8Acquia
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportAcquia
 
Babel and Beyond - Professional Multilingual Solutions with Drupal
Babel and Beyond - Professional Multilingual Solutions with DrupalBabel and Beyond - Professional Multilingual Solutions with Drupal
Babel and Beyond - Professional Multilingual Solutions with DrupalAcquia
 
Drupal 8 Multilingual - what to look forward to
Drupal 8 Multilingual - what to look forward toDrupal 8 Multilingual - what to look forward to
Drupal 8 Multilingual - what to look forward toGábor Hojtsy
 
Everything multilingual in Drupal 8 (2015 November)
Everything multilingual in Drupal 8 (2015 November)Everything multilingual in Drupal 8 (2015 November)
Everything multilingual in Drupal 8 (2015 November)Gábor Hojtsy
 
Energy.gov Case Study
Energy.gov Case StudyEnergy.gov Case Study
Energy.gov Case Studyzroger
 
Dr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdf
Dr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdfDr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdf
Dr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdfRahulSingh190790
 
W1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdfW1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdfJarellScott
 
Upcoming version of Drupal – Drupal 8
Upcoming version of Drupal – Drupal 8Upcoming version of Drupal – Drupal 8
Upcoming version of Drupal – Drupal 8Softweb Solutions
 
Embrace dynamic PHP
Embrace dynamic PHPEmbrace dynamic PHP
Embrace dynamic PHPPaul Houle
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)Eugenio Minardi
 
Everything multilingual in Drupal 8
Everything multilingual in Drupal 8Everything multilingual in Drupal 8
Everything multilingual in Drupal 8Gábor Hojtsy
 
web Based Application Devlopment using PHP
web Based Application Devlopment using PHPweb Based Application Devlopment using PHP
web Based Application Devlopment using PHPmaccodder
 

Similar a Brussels Drupal Dev Days - Internationalization for Drupal 7 - Jose Reyero (20)

Drupal Internationalization Presentation at OSCMS
Drupal Internationalization Presentation at OSCMS Drupal Internationalization Presentation at OSCMS
Drupal Internationalization Presentation at OSCMS
 
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp sessionA whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
 
Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8Multilingual Improvements for Drupal 8
Multilingual Improvements for Drupal 8
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
 
Babel and Beyond - Professional Multilingual Solutions with Drupal
Babel and Beyond - Professional Multilingual Solutions with DrupalBabel and Beyond - Professional Multilingual Solutions with Drupal
Babel and Beyond - Professional Multilingual Solutions with Drupal
 
Drupal 8 Multilingual - what to look forward to
Drupal 8 Multilingual - what to look forward toDrupal 8 Multilingual - what to look forward to
Drupal 8 Multilingual - what to look forward to
 
Everything multilingual in Drupal 8 (2015 November)
Everything multilingual in Drupal 8 (2015 November)Everything multilingual in Drupal 8 (2015 November)
Everything multilingual in Drupal 8 (2015 November)
 
Energy.gov Case Study
Energy.gov Case StudyEnergy.gov Case Study
Energy.gov Case Study
 
Dr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdf
Dr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdfDr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdf
Dr. Tanvi FOCP Unit-2 Session-1 PPT (Revised).pdf
 
Engaging the xen community
Engaging the xen communityEngaging the xen community
Engaging the xen community
 
W1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdfW1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdf
 
Upcoming version of Drupal – Drupal 8
Upcoming version of Drupal – Drupal 8Upcoming version of Drupal – Drupal 8
Upcoming version of Drupal – Drupal 8
 
Python - the basics
Python - the basicsPython - the basics
Python - the basics
 
Training python (new Updated)
Training python (new Updated)Training python (new Updated)
Training python (new Updated)
 
Embrace dynamic PHP
Embrace dynamic PHPEmbrace dynamic PHP
Embrace dynamic PHP
 
Xml & scripting
Xml & scriptingXml & scripting
Xml & scripting
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
 
Everything multilingual in Drupal 8
Everything multilingual in Drupal 8Everything multilingual in Drupal 8
Everything multilingual in Drupal 8
 
Pearl
PearlPearl
Pearl
 
web Based Application Devlopment using PHP
web Based Application Devlopment using PHPweb Based Application Devlopment using PHP
web Based Application Devlopment using PHP
 

Último

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"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
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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.
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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)
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"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
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Brussels Drupal Dev Days - Internationalization for Drupal 7 - Jose Reyero

  • 1. Drupal 7+ i18n module Jose A. Reyero http://reyero.net Brussels Dev Days - February, 2011
  • 2.
  • 3. Drupal 5 Translations E-mails Content Taxonomy Profiles Configurable Menu items Blocks Strings Localization Variables Language Language Management Negotiation Path aliases Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 4. Drupal 6 Translations E-mails Content Taxonomy Profiles Configurable Menu items Blocks Strings Localization Variables Language Language Management Negotiation Path aliases Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 5. Drupal 7 Translations E-mails Entities Content Taxonomy Profiles Configurable Menu items Blocks Strings Localization Variables Fields Language Language Management Negotiation Path aliases Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 6. Drupal 7 Translations E-mails Fields Entities Configurable Menu items Blocks Strings Localization Variables Language Language Management Negotiation Path aliases Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 7. i18n for Drupal 7 ● Use new core features – Entities, Fields – New DB API (Query alter) – Page rendering ● Work with other modules: Translation ● Simplify. Reuse. Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 8. i18n for Drupal 7 This is an API module, not a Multilingual Solution. Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 9. API module / Solution ● Building blocks ● Site specific. ● Modular features ● Worflow ● No assumptions! ● Who translates what, how? Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 10. Rosetta Stone, 193 B.C 3 languages, 100% translated http://reyero.net Jose A Reyero - Drupal Dev Days – Brussels – February 2011
  • 11. Modules and APIs Adrian Rossouw: “Drupal Teddy Bear”, http://developmentseed.org
  • 12. to build Solutions. Adrian Rossouw: “Drupal Teddy Bear”, http://developmentseed.org
  • 13. Solutions ● Translation Management ● Custom, built with i18n + … ● Multilingual install profile? http://drupal.org/project/drupali18n Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 14. The translation puzzle Or how to build a multilingual solution
  • 15. Toolset Variable translation String translation i18n Translation set Content Selection translation Field translation other Workflow UI Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 16. Multilingual menus? Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 17. Menu items ● Added language field ● Visibility depends on language ● User defined items are translated Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 18. Multilingual Blocks Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 19. Blocks ● Set language to blocks ● Per language visibility ● Translatable blocks Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 20. Multilingual Taxonomy? Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 21. Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 22. Taxonomy ● Per vocabulary options: – Multilingual – Translatable ● Terms can be: – Localizable (strings) – Multilingual (translation set) Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 23. User defined Strings Multilingual Scrabble http://flickr.com/photos/urbanmkr/354776635/ Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 24. Translate interface Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 25. String translation ● Using same UI as Locale ● Textgroups (import, export) ● Localization server ? i18n_string($name, $string, $options) – $name = 'menu:item:1:title' – $name = 'taxonomy:term:1:name' Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 26. String translation (Security) Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 27. Synchronization ● Configurable per content type ● Using Fields Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 28. Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 29. Language selection Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 30. Variable translation Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 31. Variable module http://drupal.org/project/variable Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 32. User profiles Hey, profiles are Fields now! Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 33. Views? http://drupal.org/project/i18n_views Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 34.
  • 35. #1 i18n is an API module, not a Multilingual Solution. http://drupal.org/project/i18n Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 36. #2 Module developers: Please declare your variables! http://drupal.org/project/variable Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 37. Thank you Gracias ขอบคุณ Danke Obrigado Gràcies Eskerrik asko Juspajaraña благодаря Hvala आभारी हुँ Dankon Tänan teid Takk Gratia tibi ago Graciñas Jag tackar Thank you Danku Merci дякую Arigato Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net
  • 38. Jose A. Reyero http://reyero.net @josereyero Jose A Reyero - Drupal Dev Days – Brussels – February 2011 http://reyero.net