There are two basic types of multilingual implementation strategies:
1) The majority of pages have the same content that is translated and persists on each page for each supported language version
2) Content is mostly different based on language and different sites need to be created to manage content separately between sites (Ex: www.yoursite.com, www.yoursite.com/es, www.yoursite.com/de, etc.)
This documentation section is based on the first option (which is more common), however, webmasters implementing the second option should also read the Rewrite Rule Plugin documentation to learn how to re-direct site visitors, based on their chosen language or browser language, to a host that is has customized content for that language.
Language Configuration Options
The following language properties can be configured via static configuration plugin, to change the behavior of the following multilingual features:
Default Backend Language
By default, the back-end interface is set to English, however, the following properties can be changed via plugin to change the default language to any of the other supported language versions:
#### LANGUAGE AND CODING INFO CHARSET = text/html;charset=UTF-8 DEFAULT_LANGUAGE_COUNTRY = United States DEFAULT_LANGUAGE = en_US DEFAULT_LANGUAGE_CODE = en DEFAULT_LANGUAGE_STR = English DEFAULT_LANGUAGE_COUNTRY_CODE = US
Currently supported languages include: English, Spanish, Italian, French, German, Chinese, Dutch, Russian, Finnish
Language Fall-thru Options
dotCMS provides “fall-thru” options for certain types of dotCMS content/objects. If the content/object does not exist in the current language being used to browse the site, then dotCMS can be configured to display the default language version of the object instead of displaying nothing. See the System Language Properties and Default Language Fall-thru Configuration documentation for more information.
The following multilingual documentation links have been arranged both by order of importance and follow a logically sequential order in which they should be read to properly plan and implement multilingual sites.
Adding New Languages
See the Adding and Editing Languages documentation
Setting Language in the Current Browser Session
See the Setting the Session Language documentation.
See the Multilingual Content documentation.
Importing Multilingual Content
See the Importing Multilingual Content documentation.
Creating Multilingual File Versions
Deleting Multilingual Content/File Versions
See the Deleting Language Versions documentation.
Global Multilingual Variables
See the Global Language Variables documentation.
See the Multilingual Pages documentation.
Pulling Multilingual Content
See the Pulling Multilingual Content documentation.
URL Mapping Behavior on Multilingual Detail Pages
See the Multilingual URL Maps documentation.
Time Machine Snapshots (Multilingual)
See the multilingual snapshot properties of the Time Machine Snapshots documentation.
Push Publishing Multilingual Content/Files
See the Push Publishing Multilingual Content documentation.
Site Search Indices (Multilingual)
See the language property available in the Site Search documentation.
Saving Multilingual Content via REST
See the Language ID property available in the Saving Content Via REST API documentation.
Rules Engine Multilingual/Geolocation Features
See the Browser Language, Selected Language, Session Attribute, and Visitor's Country documentation. Each of these conditions for Language or Geolocation can trigger an Action including setting a new session language or assigning a persona to the front end visitor.