Building
                               Multilanguage
                                Websites
   with Localization, Internationalization and Domain

@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Presenter
                                        Steve Rifkin
                                        d.o. - stevenator
                                    twitter - @steverifkin




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Agenda
                               Overview
                                          Demo
                               Tools
                                          Q/A
                               Gotchas



@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
intimidating




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
i18n vs i10n
                       Internationalized vs. Localized
                               one can exist without the other?




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Internationalization
                        Changing a softwares properties according to the
                        cultural traditions of different peoples




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Localization
                               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)

@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
D7 Debate
                               you choose your flavor -- core content
                               translations vs fieldable translations




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Detection Tools
                               Before Drupal vs. Inside Drupal




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Before Drupal
                               Inbound traffic redirect based on

                                     Request IP
                                     Browser Localization



@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Drupal
                                  User Object ($user->locale)




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Translate Interface
                                  .po files
                                   localize.drupal.org
                                   admin/build/translate



@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
t() function
                                For module development, all
                                string should be passed through
                                the t functions; supports
                                substitutions


@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Drupal Modules
                                    Gábor Hojtsy
                                        Jose Reyero




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Drupal Modules
                               Core                   Contrib
                                Locale
     d6 & d7                    Content Translation     Internationalization (i18n)


                                                        Entity
            d7                                          Entity translation
                                                        Variable
                                                        l10n_update (capital Igloo then 10)
@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Drupal Modules
                                        Translation Overview
                                        l10n_client




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Multilingual
                                Variables
                 $conf['i18n_variables'] = array();
                 goes into settings.php




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Gotchas
                         README files are so darn important, aren’t they?
                         Content Negotiation in languages global settings
                         Content Type enabled



@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Domain
                   $conf['domain_i18n_variables'] = array();
                   edit settings.php




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012
Sources
                        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




@larksla @sbdrupal
Santa Barbara Drupal Meetup 2/28/2012
Wednesday, February 29, 2012

Larks internationalization presentation

  • 1.
    Building Multilanguage Websites with Localization, Internationalization and Domain @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 2.
    Presenter Steve Rifkin d.o. - stevenator twitter - @steverifkin @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 3.
    Agenda Overview Demo Tools Q/A Gotchas @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 4.
    intimidating @larksla @sbdrupal Santa BarbaraDrupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 5.
    i18n vs i10n Internationalized vs. Localized one can exist without the other? @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 6.
    Internationalization Changing a softwares properties according to the cultural traditions of different peoples @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 7.
    Localization 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) @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 8.
    D7 Debate you choose your flavor -- core content translations vs fieldable translations @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 9.
    Detection Tools Before Drupal vs. Inside Drupal @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 10.
    Before Drupal Inbound traffic redirect based on Request IP Browser Localization @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 11.
    Drupal User Object ($user->locale) @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 12.
    Translate Interface .po files localize.drupal.org admin/build/translate @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 13.
    t() function For module development, all string should be passed through the t functions; supports substitutions @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 14.
    Drupal Modules Gábor Hojtsy Jose Reyero @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 15.
    Drupal Modules Core Contrib Locale d6 & d7 Content Translation Internationalization (i18n) Entity d7 Entity translation Variable l10n_update (capital Igloo then 10) @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 16.
    Drupal Modules Translation Overview l10n_client @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 17.
    Multilingual Variables $conf['i18n_variables'] = array(); goes into settings.php @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 18.
    Gotchas README files are so darn important, aren’t they? Content Negotiation in languages global settings Content Type enabled @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 19.
    Domain $conf['domain_i18n_variables'] = array(); edit settings.php @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012
  • 20.
    Sources 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 @larksla @sbdrupal Santa Barbara Drupal Meetup 2/28/2012 Wednesday, February 29, 2012