Building Multilingual Sites with Drupal 7

95
Building Multilingual Websites with Drupal 7 Wednesday, 11 January, 12

description

Please visit this page to see a recording of this presentation: https://www.acquia.com/resources/acquia-tv/conference/building-multilingual-sites-drupal-0

Transcript of Building Multilingual Sites with Drupal 7

Page 1: Building Multilingual Sites with Drupal 7

Building Multilingual Websiteswith Drupal 7

Wednesday, 11 January, 12

Page 2: Building Multilingual Sites with Drupal 7

About Me

Suzanne Kennedy

Front-end Developer

Co-founder of Evolving Web in Montreal

evolvingweb.ca

@suzanne_kennedy

Wednesday, 11 January, 12

Page 3: Building Multilingual Sites with Drupal 7

With Drupal, you can build:

• Foreign Language Site

• Multilingual Site

• Multilingual Site with Translation

Languages + Drupal

Wednesday, 11 January, 12

Page 4: Building Multilingual Sites with Drupal 7

Foreign language site:

• Locale

Multilingual site

• Internationalization (i18n) 

Multilingual site with translation:

• Content Translation (Nodes)

• Entity Translation (Fields)

Languages + Drupal

Wednesday, 11 January, 12

Page 5: Building Multilingual Sites with Drupal 7

Questions before you start

• Is content symmetric across languages?

• How is untranslated content treated?

• Is language associated with location/region?

• How will the content/UI be translated?

• What is the default language of the site?

Wednesday, 11 January, 12

Page 6: Building Multilingual Sites with Drupal 7

Symmetric Content

Wednesday, 11 January, 12

Page 7: Building Multilingual Sites with Drupal 7

 

Asymmetric Content

Wednesday, 11 January, 12

Page 8: Building Multilingual Sites with Drupal 7

Half-Symmetric Content

Wednesday, 11 January, 12

Page 9: Building Multilingual Sites with Drupal 7

Untranslated Content

Wednesday, 11 January, 12

Page 10: Building Multilingual Sites with Drupal 7

Does Language = Region

Wednesday, 11 January, 12

Page 11: Building Multilingual Sites with Drupal 7

Translation Workflow

Wednesday, 11 January, 12

Page 12: Building Multilingual Sites with Drupal 7

Types of Text to Translate

Wednesday, 11 January, 12

Page 13: Building Multilingual Sites with Drupal 7

What Gets Translated?

Wednesday, 11 January, 12

Page 14: Building Multilingual Sites with Drupal 7

Variables

Wednesday, 11 January, 12

Page 15: Building Multilingual Sites with Drupal 7

Text from Modules

Wednesday, 11 January, 12

Page 16: Building Multilingual Sites with Drupal 7

User-Entered Text Settings

Wednesday, 11 January, 12

Page 17: Building Multilingual Sites with Drupal 7

Content: Nodes

Wednesday, 11 January, 12

Page 18: Building Multilingual Sites with Drupal 7

Content: Entities

Wednesday, 11 January, 12

Page 19: Building Multilingual Sites with Drupal 7

Text Groups

Wednesday, 11 January, 12

Page 20: Building Multilingual Sites with Drupal 7

Setting up a Multilingual Website

Wednesday, 11 January, 12

Page 21: Building Multilingual Sites with Drupal 7

Installing LanguagesConfiguration > Regional & language > Languages

Wednesday, 11 January, 12

Page 22: Building Multilingual Sites with Drupal 7

Language Detection & SelectionConfiguration > Regional & language > Languages > Detection and Selection

Wednesday, 11 January, 12

Page 23: Building Multilingual Sites with Drupal 7

Types of UI Text

• Variables

• Built-in UI (provided by modules)

• Built-in UI (provided by you)

Wednesday, 11 January, 12

Page 24: Building Multilingual Sites with Drupal 7

Variables

Wednesday, 11 January, 12

Page 25: Building Multilingual Sites with Drupal 7

Wednesday, 11 January, 12

Page 26: Building Multilingual Sites with Drupal 7

Selecting VariablesConfiguration > Regional & language > Multilingual Settings > Variables

Wednesday, 11 January, 12

Page 27: Building Multilingual Sites with Drupal 7

Translating Variables

Wednesday, 11 January, 12

Page 28: Building Multilingual Sites with Drupal 7

Non-Text Variables

Wednesday, 11 January, 12

Page 29: Building Multilingual Sites with Drupal 7

TranslatingText Strings from Code

Wednesday, 11 January, 12

Page 30: Building Multilingual Sites with Drupal 7

Text Strings from Code

Wednesday, 11 January, 12

Page 31: Building Multilingual Sites with Drupal 7

Text Strings from CodeConfiguration > Regional & language > Translation Interface > Translate

Wednesday, 11 January, 12

Page 32: Building Multilingual Sites with Drupal 7

Text Strings from Code

Wednesday, 11 January, 12

Page 33: Building Multilingual Sites with Drupal 7

Translating User-entered Strings

Wednesday, 11 January, 12

Page 34: Building Multilingual Sites with Drupal 7

User-entered Strings

Wednesday, 11 January, 12

Page 35: Building Multilingual Sites with Drupal 7

User-entered Strings

Wednesday, 11 January, 12

Page 36: Building Multilingual Sites with Drupal 7

User-entered StringsConfiguration > Regional & language > Translation Interface > Translate

Wednesday, 11 January, 12

Page 37: Building Multilingual Sites with Drupal 7

User-entered Strings

Wednesday, 11 January, 12

Page 38: Building Multilingual Sites with Drupal 7

Translating Content

Wednesday, 11 January, 12

Page 39: Building Multilingual Sites with Drupal 7

Translating Content

Wednesday, 11 January, 12

Page 40: Building Multilingual Sites with Drupal 7

Translating Content

Wednesday, 11 January, 12

Page 41: Building Multilingual Sites with Drupal 7

• New node for each translation

• Nodes are mapped together

• Uses the Content Translation module (core)

Node Translation

Wednesday, 11 January, 12

Page 42: Building Multilingual Sites with Drupal 7

Translating a Node

Wednesday, 11 January, 12

Page 43: Building Multilingual Sites with Drupal 7

Wednesday, 11 January, 12

Page 44: Building Multilingual Sites with Drupal 7

Wednesday, 11 January, 12

Page 45: Building Multilingual Sites with Drupal 7

Wednesday, 11 January, 12

Page 46: Building Multilingual Sites with Drupal 7

• Translation of fields instead of nodes

• Entity Translation module (contrib) provides the UI

• Fields are translatable in core

Field-Level Translation

Wednesday, 11 January, 12

Page 47: Building Multilingual Sites with Drupal 7

Example: Products

Wednesday, 11 January, 12

Page 48: Building Multilingual Sites with Drupal 7

Example: Issues

Wednesday, 11 January, 12

Page 49: Building Multilingual Sites with Drupal 7

Setting up Field Translation

Wednesday, 11 January, 12

Page 50: Building Multilingual Sites with Drupal 7

Setting up Field Translation

Wednesday, 11 January, 12

Page 51: Building Multilingual Sites with Drupal 7

Adding a Translation

Wednesday, 11 January, 12

Page 52: Building Multilingual Sites with Drupal 7

Adding a Translation

Wednesday, 11 January, 12

Page 53: Building Multilingual Sites with Drupal 7

Field Translation UI

Wednesday, 11 January, 12

Page 54: Building Multilingual Sites with Drupal 7

Translating the Title

Wednesday, 11 January, 12

Page 55: Building Multilingual Sites with Drupal 7

Translating the Title

Wednesday, 11 January, 12

Page 56: Building Multilingual Sites with Drupal 7

Enabling Language Switcher

Wednesday, 11 January, 12

Page 57: Building Multilingual Sites with Drupal 7

Comment Filtering

Wednesday, 11 January, 12

Page 58: Building Multilingual Sites with Drupal 7

Comment Filtering

Wednesday, 11 January, 12

Page 59: Building Multilingual Sites with Drupal 7

Translate Other Entities

Wednesday, 11 January, 12

Page 60: Building Multilingual Sites with Drupal 7

Configure Entity Translation

Wednesday, 11 January, 12

Page 61: Building Multilingual Sites with Drupal 7

Translate Users

Wednesday, 11 January, 12

Page 62: Building Multilingual Sites with Drupal 7

Synchronize Translations

Wednesday, 11 January, 12

Page 63: Building Multilingual Sites with Drupal 7

Views Translation Filters

Wednesday, 11 January, 12

Page 64: Building Multilingual Sites with Drupal 7

Unfiltered View

Wednesday, 11 January, 12

Page 65: Building Multilingual Sites with Drupal 7

Adding a Filter

Wednesday, 11 January, 12

Page 66: Building Multilingual Sites with Drupal 7

Filtered Views

Wednesday, 11 January, 12

Page 67: Building Multilingual Sites with Drupal 7

Translating Other Elements

Wednesday, 11 January, 12

Page 68: Building Multilingual Sites with Drupal 7

• Blocks

• Field elements (i.e. help text, default values, options)

• Menu items

• Taxonomy terms

• Paths

Other Elements to Translate

Wednesday, 11 January, 12

Page 69: Building Multilingual Sites with Drupal 7

Blocks

Wednesday, 11 January, 12

Page 70: Building Multilingual Sites with Drupal 7

Block Translation

• Translate custom blocks

• Uses the Block Translation module in the i18n suite

• Allows you to target blocks for certain languages

Wednesday, 11 January, 12

Page 71: Building Multilingual Sites with Drupal 7

Block Translation

Wednesday, 11 January, 12

Page 72: Building Multilingual Sites with Drupal 7

Block Translation UI

Wednesday, 11 January, 12

Page 73: Building Multilingual Sites with Drupal 7

Blocks Per Language

Wednesday, 11 January, 12

Page 74: Building Multilingual Sites with Drupal 7

Field Translation(translating field settings)

Wednesday, 11 January, 12

Page 75: Building Multilingual Sites with Drupal 7

Field Translation

• Translating field settings (label, help text, default text)

• Uses the Field Translation module in the i18n suite

• Only translates core field settings (not date fields, file fields, etc.)

Wednesday, 11 January, 12

Page 76: Building Multilingual Sites with Drupal 7

Field Translation

Wednesday, 11 January, 12

Page 77: Building Multilingual Sites with Drupal 7

Field Translation

Wednesday, 11 January, 12

Page 78: Building Multilingual Sites with Drupal 7

Menu Items

Wednesday, 11 January, 12

Page 79: Building Multilingual Sites with Drupal 7

Menu Translation

• Allows you to translate menu items OR target a menu at a single language

• Uses Menu Translation module in the i18n suite

Wednesday, 11 January, 12

Page 80: Building Multilingual Sites with Drupal 7

Menu Translation

Menu Options:

• Fixed Language

• Translate and Localize

Menu items

• Linked to nodes

• Translate custom menu items

Wednesday, 11 January, 12

Page 81: Building Multilingual Sites with Drupal 7

Menu Translation

Wednesday, 11 January, 12

Page 82: Building Multilingual Sites with Drupal 7

Menu Translation

Wednesday, 11 January, 12

Page 83: Building Multilingual Sites with Drupal 7

Taxonomy

Wednesday, 11 January, 12

Page 84: Building Multilingual Sites with Drupal 7

Options per Vocabulary

Wednesday, 11 January, 12

Page 85: Building Multilingual Sites with Drupal 7

Translating a Term

Wednesday, 11 January, 12

Page 86: Building Multilingual Sites with Drupal 7

Other Multilingual Modules

Wednesday, 11 January, 12

Page 87: Building Multilingual Sites with Drupal 7

Localization Update

Wednesday, 11 January, 12

Page 88: Building Multilingual Sites with Drupal 7

Localization Client

Wednesday, 11 January, 12

Page 89: Building Multilingual Sites with Drupal 7

Translation Overview

Wednesday, 11 January, 12

Page 90: Building Multilingual Sites with Drupal 7

Challenges

• Choosing contributed modules

• Translating custom elements (Webforms)

• Multilingual audiences

• Improve Translation UI

• Out-sourced translation workflows

• Keeping track of UI strings to translate

Wednesday, 11 January, 12

Page 91: Building Multilingual Sites with Drupal 7

What’s Next?

Wednesday, 11 January, 12

Page 92: Building Multilingual Sites with Drupal 7

D8 Multilingual Initiative

Wednesday, 11 January, 12

Page 93: Building Multilingual Sites with Drupal 7

Learn More

Wednesday, 11 January, 12

Page 94: Building Multilingual Sites with Drupal 7

Learn Moreevolvingweb.ca/training

Wednesday, 11 January, 12

Page 95: Building Multilingual Sites with Drupal 7

ResourcesDocumentation on drupal.orghttp://drupal.org/documentation/multilingual

My Blog Posts about D7 Multilingualhttp://evolvingweb.ca/story/drupal-7-multilingual-whats-new-i18nhttp://evolvingweb.ca/story/content-translation-drupal-7

Gabor Hojtsy's Posts about Multilingual D7http://hojtsy.hu/blog/2011-jan-19/drupal-7039s-new-multilingual-systems-part-1-basics

Presentation at DrupalCon Londonhttp://london2011.drupal.org/conference/sessions/multilingual-drupal-solutions-use-cases-and-modules

Drupal 8 Multilingual Initiative (with Video)http://drupal.org/node/1260534

Wednesday, 11 January, 12