Larks internationalization presentation

20
Building Multilanguage Websites @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 with Localization, Internationalization and Domain Wednesday, February 29, 2012

description

This presentation was given on 2/28/2012 at the Santa Barbara Drupal User Group at the Santa Barbara Hacker Space.Presentations: Building Multilanguage Websites with Localization, Internationalization and DomainOur presenter is Steven Rifkin (@stevenator), a Los Angeles-based Drupal consultant and site architect with Exaltation of Larks (@LarksLA). Just off a recent project involving 4 domains and 7 languages in one Drupal installation, Steve will be covering basic module installation all the way up to the advanced language integration techniques.If time permits he will also include the use of the Domain suite of modules with Internationalization and what pitfalls they may present. The presentation will begin with a discussion of the current state of Internationalization in Drupal 7 and the debate of field vs. node translations.While we will be discussing both Drupal 6 & 7, the examples and final demo will be in Drupal 6. We will then open the floor to questions and try to give as many version specific answers as time permits.The following modules will be demonstrated and discussed:LocaleInternationalizationTranslation (String, Block, Menu, Taxonomy)Domain AccessDomain AliasDomain LocaleDomain Internationalization

Transcript of Larks internationalization presentation

Page 1: Larks internationalization presentation

Building Multilanguage

Websites

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

with Localization, Internationalization and Domain

Wednesday, February 29, 2012

Page 2: Larks internationalization presentation

Presenter

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Steve Rifkin

d.o. - stevenator

twitter - @steverifkin

Wednesday, February 29, 2012

Page 3: Larks internationalization presentation

Agenda

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Overview

Tools

Gotchas

Demo

Q/A

Wednesday, February 29, 2012

Page 4: Larks internationalization presentation

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

intimidating

Wednesday, February 29, 2012

Page 5: Larks internationalization presentation

i18n vs i10n

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Internationalized vs. Localizedone can exist without the other?

Wednesday, February 29, 2012

Page 6: Larks internationalization presentation

Internationalization

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Changing a softwares properties according to the

cultural traditions of different peoples

Wednesday, February 29, 2012

Page 7: Larks internationalization presentation

Localization

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Implementation of a specific language

for an internationalized software;

localized objects

individual translations

cultural rules (left to right, .rtl)

charset (ASCII, ISO-8859-1, KOI8-U)

Wednesday, February 29, 2012

Page 8: Larks internationalization presentation

D7 Debate

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

you choose your flavor -- core content

translations vs fieldable translations

Wednesday, February 29, 2012

Page 9: Larks internationalization presentation

Detection Tools

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Before Drupal vs. Inside Drupal

Wednesday, February 29, 2012

Page 10: Larks internationalization presentation

Before Drupal

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Inbound traffic redirect based on

Request IP

Browser Localization

Wednesday, February 29, 2012

Page 11: Larks internationalization presentation

Drupal

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

User Object ($user->locale)

Wednesday, February 29, 2012

Page 12: Larks internationalization presentation

Translate Interface

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

.po files

localize.drupal.org

admin/build/translate

Wednesday, February 29, 2012

Page 13: Larks internationalization presentation

t() function

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

For module development, all

string should be passed through

the t functions; supports

substitutions

Wednesday, February 29, 2012

Page 14: Larks internationalization presentation

Drupal Modules

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Jose Reyero

Gábor Hojtsy

Wednesday, February 29, 2012

Page 15: Larks internationalization presentation

Drupal Modules

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Locale

Content Translation Internationalization (i18n)

Core Contrib

d6 & d7

d7 Entity

Entity translation

Variable

l10n_update (capital Igloo then 10)

Wednesday, February 29, 2012

Page 16: Larks internationalization presentation

Drupal Modules

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

Translation Overview

l10n_client

Wednesday, February 29, 2012

Page 17: Larks internationalization presentation

Multilingual Variables

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

$conf['i18n_variables'] = array();goes into settings.php

Wednesday, February 29, 2012

Page 18: Larks internationalization presentation

Gotchas

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

README files are so darn important, aren’t they?

Content Negotiation in languages global settings

Content Type enabled

Wednesday, February 29, 2012

Page 19: Larks internationalization presentation

Domain

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

$conf['domain_i18n_variables'] = array();

edit settings.php

Wednesday, February 29, 2012

Page 20: Larks internationalization presentation

Sources

@larksla @sbdrupalSanta Barbara Drupal Meetup 2/28/2012

www.linuxjournal.com/article/6176

groups.drupal.org/internationalization

www.lullabot.com/articles/localized-and-multi-lingual-content-drupal-7

www.archive.org/details/IntroductionToI18NInDrupal7

www.archive.org/details/StateOfInternationalizationInDrupal7

Wednesday, February 29, 2012