模块:发布 xlanguage 3.0 版本

发布者: phppp于 2006/7/8 13:47:15 26798 阅读
xlanguage,可扩展的 XOOPS 多语言内容和编码管理

它适用于所有活动的 XOOPS 版本以及任意主题的任意模块,无需对 XOOPS 内核和模块进行修改,只需在 common.php 中插入一行代码。

下载 xlanguage 3.0

Sourceforge 镜像

xlanguage 3.0 更新日志:1. 兼容所有活动 Xoops 版本 2. 添加块 Smarty 模板 3. 添加行内脚本以显示任何位置的语言切换方式 用户指南 ---------- 1. 将 "xlanguage" 作为常规模块安装 2. 在 XOOPS/include/common.php 中插入以下一行:
include_once XOOPS_ROOT_PATH.'/modules/xlanguage/api.php';
在以下之前插入到 XOOPS/include/common.php:
// #################### 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. 修改 language/LocalLanguage/global.php,以 "schinese" 为例
语言特定设置 بافتی%%%%           
    //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] 7 automatic conversion of content from one charset(extended language) to another [Actually on action needed in this step] 8 __if__ you would like to insert hardcoded scripts for language switch in your theme or any template besides the language selection box: 1) modify /modules/xlanguage/api.php "$xlanguage_theme_enable = true;" 2) config options "$options = array("images", " ", 5); // display mode, delimitor, number per line"; 3) insert "<{$smarty.const.XLANGUAGE_SWITCH_CODE}>" into your theme or template files anywhere you prefer it present xlangauge description ------------------------- An eXtensible Multi-language content and character encoding Management plugin Multilanguage management handles displaying contents of different languages, like English, French and Chinese Character encoding management handles contents of different encoding sets for one language, like GB2312 (Chinese Simplified) and BIG5 (Chinese Traditional) for Chinese. What xlanguage CAN do --------------------- 1 displaying content of specified language based on user's dynamic choice 2 converting content from one character encoding set to another What xlanguage canNOT do ------------------------ 1 xlanguage does NOT have the ability of translating content from one language to another one. You have to input contents of various languages by yourself 2 xlanguage does NOT work without adding one line to XOOPS/include/common.php (see guide below) 3 xlanguage does NOT have the ability of converting content from one character encoding to another if none of "iconv", "mb_string" or "xconv" is available. Features -------- 1 auto-detection of visitor's language on his first visitor 2 memorizing users' langauge preferences 3 switching contents of different languges/encoding sets on-fly 4 supporting M-S-M mode for character encoding handler Note: M-S-M: Multiple encoding input, Single encoding storage, Multiple encoding output. M-S-M allows one site to fit various users with different language character encoding usages. For example, a site having xlanguage implemented porperly allows users to input content either with GB2312, with BIG5 or UTF-8 encoding and to store the content into DB with specified encoding, for say GB2312, and to display the content either with GB2312, with BIG5 or with UTF-8 encoding.