This question often pops up in the mailing lists: how do I create multilanguage web site using TemplaVoila?
The answer can be found in Kasper's excellent
localization guide but this document is very large and two technical. There are step-by-step instructions there and it can be hard to read for non-technical people. Thus I decided to publish instructions here.
- Open List module on the "Globe" level. This is a very top of the page tree
- Create your web site languages there. Remember if you have many sites in the tree all these languages will be available to all sites!
- Go to your record storage. This is a sysfolder where your TemplaVoila data sources (DS) and template objects (TO) are located
- Open DS record for page. Check if you have the following code after <T3DataStructure> but before <ROOT>:
<meta>
If there is no such code, add it
<langDisable>1</langDisable>
</meta> - Now go to your TypoScript template for this site (use Web>Template module) and add the following there:
config.linkVars = L
This code does the following:
config.uniqueLinkVars = 1
config.sys_language_overlay = content_fallback
config.language = en
config.sys_language_uid = 0
[globalVar = GP:L = 1]
config.language = de
config.sys_language_uid = 1
[global]- Adds parameter named "L" to each link. This parameter will contain identifier of current language
- Define correct language overlay mode (do not ask why, see Kasper's tutorial)
- Defines default language as English. Notice how it is set: regardless of any value that "L" parameter may have. So you always have value for the default language!
- If "L" is set to 1, modify language settings to German (I ecided to use German in this example)
- Now use Web>Page module and go to the page you want to localize. Make sure that "Translations" tab is visible and expanded
- Use "Create new page translation" and select a language for translation (German in out example). Notice that you do not have default language there
- Edit page properties for this language (enter localized title, etc) and save it
- Now all content elements on the page will have a link to localize them. You can add translations
This is it. The only other thing you may want to do is to change flag for default language. It is easy, just add the following to the TS config of the root page of your site (in page properties):
mod.SHARED.defaultLanguageLabel = English
mod.SHARED.defaultLanguageFlag = /typo3/gfx/flags/en.gif
[Update, 14.09.2007] There was a error in this article. Thanks to "!ian" for noticing and notifying me.

Regards
Peter
Don't you mean:
1
For container DS elements? This is what the localization guide suggests.
<meta>
<langDisable>1</langDisable>
</meta>
one question: ain't
uniqueLinkVars boolean?
and linkVars is where you add the params?
that's what I found here:
http://typo3.org/documentation/document-library/references/doc_core_tsref/4.0.0/view/7/3/
Better if we use (in newer versions of Typo3):
mod.SHARED.defaultLanguageLabel = English
mod.SHARED.defaultLanguageFlag = en.gif