SlideShare a Scribd company logo
Multilingual Content
 in Drupal 7 and 8
     Suzanne Kennedy
Multilingual Content
 in Drupal 7 and 8
Multilingual Content
            in Drupal 7 and 8



About Me
Co-founder of Evolving Web
Training, Development, Consulting
evolvingweb.ca
@suzanne_kennedy
Multilingual Drupal Training




      evolvingweb.ca/training
Multilingual Content
                      in Drupal 7 and 8


1. Getting Started
                                  3. Content Translation Workflows
• Multilingual Requirements        • Why it’s Important
• What is Multilingual Drupal?     • Translation Management
• Types of Drupal Text               Modules
2. Translating Content            4. What’s Next?
• The Lifecycle of Drupal         • Challenges in Drupal 7
  Content                           Multilingual
• Translation Methods             • Learn More & Contribute
• Planning Multilingual Content
Multilingual
Requirements
Why Multilingual?
• Reach a wider audience
• Expand to new markets
• Improve usability
• Search engine optimization
• Government regulations
• Company policy
Multilingual Resources

Personnel                      Resources
• User-Interface Translators   • Contributed Translations
                                (localize.drupal.og)
• Content Translators
                               • Machine Translation
• QA for each Language

• Translation Manager
Internationalization
• aka i18n
• Developing a website that enables localization
 of content and other elements.
• Separating elements that should be localized
 so they can be specified for each locale.
Localization
• aka l10n
• Process of adapting a website for a certain
 locale including:
 • Translation of text and graphics
 • Numeric, date and time formats
 • Currency
 • Time zones
 • Legal requirements
What kind of site are you
        building?
• How many languages do you need to support?
• Does the user interface need to be fully
 translated?
• Do you have content in all languages? Is all the
 content translated?
• What happens to untranslated content?
What is Multilingual
Drupal?
Foreign-language site
Multilingual Site
Multilingual Site with
     Translation
Multilingual Modules

• Core:
 • Locale
 • Content Translation
• Contrib:
 • i18n (Internationalization)
 • Entity Translation
Types of Text in Drupal
Types of Text
                                               Content
   User interface (Code)




                                i18n Strings




                                               Variables
User interface (User-Defined)
Built-in interface (Code)
Translation Interfaces    Built-in interface (User-Defined)
in Drupal                i18n Strings

i18n Strings




Variables                Content
Types of Text
                                                        Content
    Built-in interface (Code)




                                    i18n Strings




                                                   Variables
Built-in interface (User-Defined)
Multilingual Content
What content
experience are you
building?
Fully Symmetric Experience

English                                Poilsh
Asymmetric Experience
French                           English
What about
untranslated content?
Show Untranslated Content
Hide Untranslated Content
French                               English
Content Translation
Methods
Content Translation
                   Methods
     Node-Level Translation               Field-Level Translation

 Node 1      Node 2      Node 3                   Node 1
(English)    (French)   (German)




  Title        Title       Title      Title        Title        Title
(English)    (French)    (German)   (English)    (French)     (German)




 Image        Image       Image                   Image
Node-Level Translation
Node-Level Translation
• Content Translation module (Drupal core)
• New node for each translation
• Nodes are mapped together in a translation
 set
Translating Nodes
                         Translation Set


       Node 1               Node 2                  Node 3
      (English)             (French)               (German)
        tnid = 1             tnid = 1                tnid = 1



  Title                  Title          Image     Title         Image
               Image
(English)              (French)                 (German)
Benefits of Node-Level
        Translation
• Asymmetric menus per language
• Language-specific features (flagging, sign-up,
 moderation)
• Curation of content per language
• Works for node-based functionality (i.e. search)
• Use built-in ‘Flag as translation needs update’
Drawbacks of Node-Level
      Translation
• Everything is language-specific by default
• Need to ‘synchronize’ data between nodes
• Too many nodes
• Doesn’t work for modelling language-neutral
 things (groups of people, products, data)
• Only works for nodes
Translating a Node
Language-Specific
   Properties
Properties per Translation
                               Translation Set


       Node 1                     Node 2                   Node 3
      (English)                   (French)                (German)
           tnid = 1                 tnid = 1                 tnid = 1



  Title                        Title           Image     Title           Image
                  Image
(English)                    (French)                  (German)




 Menu            Published    Menu         Published    Menu            Published
Settings           Date      Settings        Date      Settings           Date
Field-Level Translation
Field-Level Translation

• Entity Translation module (contrib) provides
 the UI
• Translation of fields instead of nodes
• Fields are translatable in core
Translating Fields
                                  Node 1

       Language-Specific Fields            Language Independent



  Title          Title         Title
                                            Image         Author
(English)      (French)      (German)




  Body           Body          Body                     Facebook
                                           Post Date
(English)      (French)      (German)                     Likes




     A single node, with translations of certain
                       fields.
Language-Independent
      Properties
• Flags                 • Entity references

• Voting Data           • Panels nodes’ layout

• Signups               • Content Access

• Nodequeue or          • Social Media
 Draggable Views Data    Integration (Add This)
• Moderation /
 Scheduler settings
Benefits of Field-Level
         Translation
• Better model for language-neutral content:
 • No need to sync properties
 • 1 node ID
• Works with all kinds of entities:
 • Taxonomy terms, users, etc.
• It’s the future!
Drawbacks of Field-Level
       Translating
• Doesn’t work with core search or revisions
• Different UI for translators to learn
• Not compatible with node options or
 multilingual select features from i18n
• Doesn’t work with ‘Flag as needs translation
 update’
• Properties can’t be translated
Setting up Field Translation
    for a Content Type
Setting up Field Translation
Translating the Title



   drupal.org/project/title
Field Translation UI
Field Translation UI
Examples: Field vs.
Node-Level Translation
Example: Conference Session
Example: Carousel Item
Example: Webform
Content Translation
                   Methods
      Node-Level Translation               Field-Level Translation

 Node 1      Node 2        Node 3
                                                   Node 1
(English)    (French)     (German)



  Title         Title       Title      Title        Title        Title
(English)     (French)    (German)   (English)    (French)     (German)




 Image        Image        Image                   Image
Life-cycle of a node
                                     Published
          Node Creation
                                      Node 1
CSV                                                User ‘Likes’
              Node 1




                                      x
                                                    the Node


      Unpublished                     Node 1        Node 1


        Node 1
                                      Deleted



                                          Node 1

                       Node 1
                                       + Comment   Node 1

                 Flag as Offensive
                                                   Update
Field vs. Node Translation:
        Conclusion
• Field-level translation is the right data model for
 most use cases
• Will be default method for D8 core
• You can use it today on D7, but only if you’re
 not afraid to get your hands dirty
Translating Other Entity
Types
Translate Core Entities
   Translation of entities from core modules
Translate Users
Configure Fields          Translate Users




     Permissions
Translate Users:
            Use Cases
• Team member profiles
• Multilingual community site
• Users who offer a service to users in more than
 one language
Translate Users:
            Drawbacks
• Single permission for users (can translate any
 user entity)
• UI is not self-explanatory
Translate Terms
Configure Fields         Translate Terms




Permissions
Translate Terms:
            Use Cases
• Any vocabulary that is symmetric across
 languages:
 • Categories
 • Destinations
 • Medical Topics
Translate Terms:
             Drawbacks
• Time-consuming to use translation UI
• Single permission for translating all
 vocabularies
• Alphabetical listings in Views will use source
 language
Translate Comments
Configure Fields        Translate Comments




Permissions
Translate Comments:
         Use Cases
• Travel website (machine translation of reviews)
• Government website (human translation of
 questions + answers)
Translate Other Entities
             Translation of entities from contributed modules



Entities need to
have fields and
include translation
support in
hook_entity_info()
Commerce Product Entity

Language-specific   Language-neutral

 • Title             • SKU
 • Description       • Status
 • URL               • Image
                     • Price
                     • Quantity
                       Remaining
                     • Shopping Cart
                       Status
Commerce Product Entity
Commerce Product Entity
Commerce Product Entity
Content Translation
Workflows
Cost of Translation
• Time-consuming
• Expensive
• How can you speed up the process and
 reduce the amount of text to be translated?
Content Translation
                   Workflow
 1. Author creates a new node   2. Translator adds a translation




Author                                              Translator
Creating a Translation
   Workflow from Scratch
• Permissions for translators
• Rules and Flag to trigger translation requests
• Views for Translators
Permissions for Translation
• Node-Level Translation: Translators need to be
 able to create content
• Field-Level Translation: Permission to edit the
 entity
• No granular translation permissions per
 content type by default (use i18n_access)
Typical UI for Translators

                      Permissions
                      Rules
                      Views
Challenges
• Different UI for Entity Translation/Content
 Translation (Confusing)
• Professional translators need to learn Drupal
• Need to build system for reviewing translations
Translation Workflows
for Content:
TMGMT Module
Translation Management
     Tool (TMGMT)




    drupal.org/project/tmgmt
Translation Management
    Tool (TMGMT)

Drupal
Translators




• Microsoft (Bing) Translator (machine)

• Google Translate (machine)

• Nativy (human)

• MyGengo (human)

• Supertext (human)

• One Hour Translation (human)
Microsoft Translator
Microsoft Translator
Requesting Translations
Requesting Translations
Review Translation
Review Translation
Translate in Bulk
Benefits of TMGMT
• Field-level and node-level translation
• Also translate i18n strings (in development)
• Easy to configure
• Human/machine translator plugins
• Write your own translator plugin
Challenges in Drupal 7
• Choosing a content translation method
• Permissions for Translators
• Choosing contributed modules
• Translating custom elements (Webforms)
• Improve Translation UI
• Building translation workflows in Drupal
Looking Forward to D8
• Translatable properties
• More things are entities
• Better UI for adding/configuring languages
• Come to Gábor’s Core Conversation tomorrow
Contrib Modules for Entity
       Translation
• Entity Translation Feeds (et_feeds)
• Search API Entity Translation (search_api_et)
Learn More & Contribute
• Multilingual Q&A BoF (Wed 10:15)
• Drupal 8’s Multilingual Wonderland (Wed 1pm)
• Apache Solr Multilingual BoF (Today 5pm)
• Localize.Drupal.org BoF (Thurs 10:45)
• TMGMT BoF (Thurs at 1pm)
• Code Sprint (Friday-Sunday)

More Related Content

PPT
Drupal entity translation
Grigory Naumovets
 
PDF
Ubiquity: Designing a Multilingual Natural Language Interface
Michael Yoshitaka Erlewine
 
PPT
Drupal7 multilingual
Grigory Naumovets
 
KEY
Test-driven language development
lennartkats
 
KEY
Language Engineering in the Cloud
lennartkats
 
PDF
The Spoofax Language Workbench (SPLASH 2010)
lennartkats
 
PDF
Kotlin @ StrangeLoop 2011
Andrey Breslav
 
KEY
Using Aspects for Language Portability (SCAM 2010)
lennartkats
 
Drupal entity translation
Grigory Naumovets
 
Ubiquity: Designing a Multilingual Natural Language Interface
Michael Yoshitaka Erlewine
 
Drupal7 multilingual
Grigory Naumovets
 
Test-driven language development
lennartkats
 
Language Engineering in the Cloud
lennartkats
 
The Spoofax Language Workbench (SPLASH 2010)
lennartkats
 
Kotlin @ StrangeLoop 2011
Andrey Breslav
 
Using Aspects for Language Portability (SCAM 2010)
lennartkats
 

Similar to Multilingual Content in Drupal 7 & 8 at DrupalCon Munich (20)

PDF
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Suzanne Dergacheva
 
ODP
Multilingual drupal 7
Pavel Makhrinsky
 
PDF
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Suzanne Dergacheva
 
KEY
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Suzanne Dergacheva
 
PPTX
Building Multilingual Sites in Drupal 7 by Yoni Steingiesser
Jonathan Steingiesser
 
PDF
Multilingual Drupal presentation from "Do it With Drupal"
Gábor Hojtsy
 
PPT
Babel and Beyond - Professional Multilingual Solutions with Drupal
Acquia
 
PDF
Managing Translation Workflows in Drupal 7
Suzanne Dergacheva
 
PDF
Multilingual Drupal
Gábor Hojtsy
 
PDF
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
camp_drupal_ua
 
PDF
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
camp_drupal_ua
 
PPT
Multilingual solutions florian loretan
drupalconf
 
PDF
Drupal 7 multilingual strategy
Mariano
 
PPTX
Multi lingual implementations – drupal design approaches for different scenar...
Drupal Camp Delhi
 
PDF
Drupal 8 Multilingual - what to look forward to
Gábor Hojtsy
 
PDF
Drupal 8's Multilingual APIs: Building for the Entire World
Christian López Espínola
 
PDF
Multilingual Improvements for Drupal 8
Acquia
 
PDF
Everything multilingual in Drupal 8 (2015 November)
Gábor Hojtsy
 
PDF
Everything multilingual in Drupal 8
Gábor Hojtsy
 
PDF
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Jeffrey McGuire
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Suzanne Dergacheva
 
Multilingual drupal 7
Pavel Makhrinsky
 
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Suzanne Dergacheva
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Suzanne Dergacheva
 
Building Multilingual Sites in Drupal 7 by Yoni Steingiesser
Jonathan Steingiesser
 
Multilingual Drupal presentation from "Do it With Drupal"
Gábor Hojtsy
 
Babel and Beyond - Professional Multilingual Solutions with Drupal
Acquia
 
Managing Translation Workflows in Drupal 7
Suzanne Dergacheva
 
Multilingual Drupal
Gábor Hojtsy
 
Grigory Naumovets.Multilingual sites.DrupalCamp Kyiv 2011
camp_drupal_ua
 
Grigory naumovets.multilingual sites.drupal camp kyiv 2011
camp_drupal_ua
 
Multilingual solutions florian loretan
drupalconf
 
Drupal 7 multilingual strategy
Mariano
 
Multi lingual implementations – drupal design approaches for different scenar...
Drupal Camp Delhi
 
Drupal 8 Multilingual - what to look forward to
Gábor Hojtsy
 
Drupal 8's Multilingual APIs: Building for the Entire World
Christian López Espínola
 
Multilingual Improvements for Drupal 8
Acquia
 
Everything multilingual in Drupal 8 (2015 November)
Gábor Hojtsy
 
Everything multilingual in Drupal 8
Gábor Hojtsy
 
A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Jeffrey McGuire
 
Ad

More from Suzanne Dergacheva (20)

PDF
It's All About the Experience: What I’ve learnt from talking to thousands of ...
Suzanne Dergacheva
 
PDF
Building a Great User Experience for Content Editors in Drupal 8
Suzanne Dergacheva
 
PDF
Dipping Your Toe into Drupal 8 Module Development
Suzanne Dergacheva
 
PDF
Device-Agnostic Content Strategy for Drupal
Suzanne Dergacheva
 
PDF
Creating a Reusable Drupal Website for Higher Education - Webinar
Suzanne Dergacheva
 
PDF
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Suzanne Dergacheva
 
PDF
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Suzanne Dergacheva
 
PDF
What is Drupal? And Why is it Useful? Webinar
Suzanne Dergacheva
 
PDF
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Suzanne Dergacheva
 
PDF
What is Drupal? An Introduction to Drupal 8
Suzanne Dergacheva
 
PDF
Using Core Themes in Drupal 8
Suzanne Dergacheva
 
PDF
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Suzanne Dergacheva
 
PDF
Upgrading to Drupal 8: Benefits and Gotchas
Suzanne Dergacheva
 
PDF
Migrate for Site Builders from MidCamp 2016
Suzanne Dergacheva
 
PDF
The Wonderful World of Drupal 8 Multilingual
Suzanne Dergacheva
 
PDF
Creating a Drupal Install Profile for a Large Organization
Suzanne Dergacheva
 
PDF
Intro to Drupal Migrate for Site Builders
Suzanne Dergacheva
 
PDF
Drupal migrate-june2015
Suzanne Dergacheva
 
PDF
10 New Things You Can Do with Drupal 8 Out-of-the-Box
Suzanne Dergacheva
 
PDF
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Suzanne Dergacheva
 
It's All About the Experience: What I’ve learnt from talking to thousands of ...
Suzanne Dergacheva
 
Building a Great User Experience for Content Editors in Drupal 8
Suzanne Dergacheva
 
Dipping Your Toe into Drupal 8 Module Development
Suzanne Dergacheva
 
Device-Agnostic Content Strategy for Drupal
Suzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Suzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Suzanne Dergacheva
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Suzanne Dergacheva
 
What is Drupal? And Why is it Useful? Webinar
Suzanne Dergacheva
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Suzanne Dergacheva
 
What is Drupal? An Introduction to Drupal 8
Suzanne Dergacheva
 
Using Core Themes in Drupal 8
Suzanne Dergacheva
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Suzanne Dergacheva
 
Upgrading to Drupal 8: Benefits and Gotchas
Suzanne Dergacheva
 
Migrate for Site Builders from MidCamp 2016
Suzanne Dergacheva
 
The Wonderful World of Drupal 8 Multilingual
Suzanne Dergacheva
 
Creating a Drupal Install Profile for a Large Organization
Suzanne Dergacheva
 
Intro to Drupal Migrate for Site Builders
Suzanne Dergacheva
 
Drupal migrate-june2015
Suzanne Dergacheva
 
10 New Things You Can Do with Drupal 8 Out-of-the-Box
Suzanne Dergacheva
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Suzanne Dergacheva
 
Ad

Recently uploaded (20)

PDF
Withum Webinar - OBBBA: Tax Insights for Food and Consumer Brands
Withum
 
PDF
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
PDF
GenAI for Risk Management: Refresher for the Boards and Executives
Alexei Sidorenko, CRMP
 
PDF
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
PDF
Alan Stalcup - Principal Of GVA Real Estate Investments
Alan Stalcup
 
PDF
Equinox Gold - Corporate Presentation.pdf
Equinox Gold Corp.
 
PDF
NewBase 26 July 2025 Energy News issue - 1806 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
PDF
William Trowell - A Construction Project Manager
William Trowell
 
PDF
bain-temasek-sea-green-economy-2022-report-investing-behind-the-new-realities...
YudiSaputra43
 
PDF
New Royals Distribution Plan Presentation
ksherwin
 
PDF
Top 10 Corporates in India Investing in Sustainable Energy.pdf
Essar Group
 
PDF
Unveiling the Latest Threat Intelligence Practical Strategies for Strengtheni...
Auxis Consulting & Outsourcing
 
PPTX
Virbyze_Our company profile_Preview.pptx
myckwabs
 
DOCX
unit 1 BC.docx - INTRODUCTION TO BUSINESS COMMUICATION
MANJU N
 
PDF
2025 07 29 The Future, Backwards Agile 2025.pdf
Daniel Walsh
 
PPTX
Integrative Negotiation: Expanding the Pie
badranomar1990
 
PPTX
E-commerce and its impact on business.
pandeyranjan5483
 
PDF
MBA-I-Year-Session-2024-20hzuxutiytidydy
cminati49
 
PDF
Gregory Felber - An Accomplished Underwater Marine Biologist
Gregory Felber
 
PPTX
Certificate of Incorporation, Prospectus, Certificate of Commencement of Busi...
Keerthana Chinnathambi
 
Withum Webinar - OBBBA: Tax Insights for Food and Consumer Brands
Withum
 
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
GenAI for Risk Management: Refresher for the Boards and Executives
Alexei Sidorenko, CRMP
 
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
Alan Stalcup - Principal Of GVA Real Estate Investments
Alan Stalcup
 
Equinox Gold - Corporate Presentation.pdf
Equinox Gold Corp.
 
NewBase 26 July 2025 Energy News issue - 1806 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
William Trowell - A Construction Project Manager
William Trowell
 
bain-temasek-sea-green-economy-2022-report-investing-behind-the-new-realities...
YudiSaputra43
 
New Royals Distribution Plan Presentation
ksherwin
 
Top 10 Corporates in India Investing in Sustainable Energy.pdf
Essar Group
 
Unveiling the Latest Threat Intelligence Practical Strategies for Strengtheni...
Auxis Consulting & Outsourcing
 
Virbyze_Our company profile_Preview.pptx
myckwabs
 
unit 1 BC.docx - INTRODUCTION TO BUSINESS COMMUICATION
MANJU N
 
2025 07 29 The Future, Backwards Agile 2025.pdf
Daniel Walsh
 
Integrative Negotiation: Expanding the Pie
badranomar1990
 
E-commerce and its impact on business.
pandeyranjan5483
 
MBA-I-Year-Session-2024-20hzuxutiytidydy
cminati49
 
Gregory Felber - An Accomplished Underwater Marine Biologist
Gregory Felber
 
Certificate of Incorporation, Prospectus, Certificate of Commencement of Busi...
Keerthana Chinnathambi
 

Multilingual Content in Drupal 7 & 8 at DrupalCon Munich