I followed these instructions from the readme inside the module and it's working good. Maybe there is a part of the instructions you might have skipped?
User guide
----------
1 install "xlanguage" as a regular module
2 insert one line into XOOPS/include/common.php
include_once XOOPS_ROOT_PATH.'/modules/xlanguage/api.php';
RIGHT BEFORE
// #################### Include site-wide lang file ##################
if ( file_exists(XOOPS_ROOT_PATH."/language/".$xoopsConfig['language']."/global.php") ) {
include_once XOOPS_ROOT_PATH."/language/".$xoopsConfig['language']."/global.php";
} else {
include_once XOOPS_ROOT_PATH."/language/english/global.php";
}
3 modify language/LocalLanguage/global.php, take "schinese" as example
//%%%%% LANGUAGE SPECIFIC SETTINGS %%%%%
//define('_CHARSET', 'GB2312');
//define('_LANGCODE', 'zh-CN');
define('_CHARSET', empty($xlanguage["charset"])?'GB2312':$xlanguage["charset"]);
define('_LANGCODE', empty($xlanguage["code"])?'zh-CN':$xlanguage["code"]);
$xlanguage['charset_base'] = "gb2312";
4 select basic langauges (from an available language list) and add extended languages (upon a selected basic language) from module admin page for instance, to make language switch between: English, Simplified Chinese (gb2312), Traditional Chinese (big5) and UTF-8 Chinese:
base 1: name: english; description(optional): English; charset: iso-8859-1; code: en (or anyother like "xen", not a true language code, just the tag for indicating English content)
base 2: name: schinese; description(optional): Simplified Chinese; charset: gb2312; code: zh (or anyother like "sc", not a true language code, just the tag for indicating Chinese content)
extended lang of schinese 1: name: tchinese; description(optional): Traditional Chinese; charset: big5 code: zh-TW (the true language code of Traditional Chinese) base: schinese
extended lang of schinese 2: name: utf8; description(optional): Simplified Chinese UTF-8; charset: utf-8 code: zh-CN (the true language code of Simplified Chinese) base: schinese
5 make the block "langauge selection" visible
6 add multilingual content with according tags sepcified for each base language (in step 4) to your modules, templates or themes[Skip this step if you do not use multi-language content display but only use charset encoding]:
wrap content of each language with respective tag specified in step 4:
[langcode1]Content of the language1[/langcode1] [langcode2]Content of the language2[/langcode2] [langcode3]Content of the language3[/langcode3] ...
if two or more languages have same content, you do not need add them one by one but use delimiter "|":
[langcode1|langcode2]Content shared by language1&2[/langcode1|langcode2] [langcode3]Content of the language3[/langcode3] ...
a true example (suppose the lang_codes specified in step 4 are: English-en; French-fr; SimplifiedChiense-sc):
[en]My XOOPS[/en][fr]Moi XOOPS[/fr][sc]ÎÒµÄXOOPS[/sc]
OR:
[english|french]This is my content in English and French[/english|french][schinese]ÖÐÎÄÄÚÈÝ[/schinese]