This page last changed on Apr 23, 2012 by barry.hobbs@involver.com.

Overview

?if-Logic based Localization according to language and country is available to all customers and works out of the box.  

We also have a ?phrasebook_manager feature block used to enable line-by-line professional translation of your text content.  In conjunction with the ?add_localization and ?localize tags, this feature block provides a robust solution for our enterprise-level customers.

Localization makes it possible for brands to deliver customized page content based on a sponsor's geographic and language settings. Localization provides a utility for uploading translations for your SML tabs as well as a localize tag for displaying said translations. An add_localization tag is also provided to locally override translations.

You can override any given section of an sml block with a locale_context tag, and all localize tag usages inside that block will use only the specified locale, no matter what the user's locale or default enforced locality. 

Locale Details

Facebook is only using locales (like "en_US") to define language (see ISO 639-1 codes here) and dialect (by using ISO3166 country codes here), and not to define location. For this reason, the locales do not cover every language/country combination, only as many as required to define major dialects. For example, there is en_US and en_GB (the UK), but no en_CA (Canada) or en_NZ (New Zealand). In order to offer specific content by country, our localization schema appends the country to the locale code, allowing for specific translated data to be provided for each country (e.g. en_US_us, en_GB_gb, en_US_ca, and en_GB_nz respectively). This country code is provided to us by Facebook and reflects the present location of the user, not the location listed in their profile.  For a full list of Facebook's locales see facebook locale support or download Facebook's language definition xml file here.

Our system adds support for localization of country and language independently of each other using the ?current_country and current_language ?Global Context Variables.

Parent Language Support

Often, a developer will want to localize text across multiple locales with a common language (e.g. en_US and en_GB). These translations need to be stored in the database once rather than repeated for each country code. This is accomplished by omitting the dialect and country codes and delimiters when stating the locale of a translation. For example, translations for all English text should be uploaded with a locale set simply to "en". This does not preclude having a dialect or country-specific translation as well, which will be found first if available. When using the "force default locale" option, the parent language will be determined by the forced locale being used.

Document generated by Confluence on Feb 12, 2013 09:09