本栏目下相关链接 |
多语言界面的使用 |
本文档介绍 Discuz! 多语言技术的应用与使用方法,适用于需要在同一论坛上实现不同语言界面或将 Discuz! 翻译为其他语言文字使用的 用户。请首先仔细阅读《界面风格与模板定制》,在您对 Discuz! 界面和模板系统有了一定的了解后, 依据实际需要,着手对您的论坛添加多语言的特性。 Discuz! 依靠不同的模板套系来实现多语言,您可以新增自定义模板套系,在该套系中包含相应的语言包,这样语言包就可以应用到模板中, 而模板应用到新的界面风格中,从而实现同一论坛的多语言界面。即事实上,用户是通过对界面风格的选择而实现多语言提示界面的。 语言包是从模板中提取出来的,模板被第一次读取后,Discuz! 会自动将语言元素插入编译后的模板中,所以 Discuz! 的语言包完全不会 影响系统的运行效率。但模板被编译后,语言包中的内容,具体讲是 templates.lang.php 语言包,如果被修改,并不能马上应用到新的模板 中去,您必须在系统设置中使用“更新缓存”功能使模板重新编译,才能将新的语言元素应用到界面中。其他语言包没有此方面的限制。 默认模板中的 *.lang.php 为 Discuz! 的语言包文件,自身是标准的 PHP 程序格式。您可以依据默认的语言包,将文字翻译为其他语言, 实现在 Discuz! 上新增语言界面的要求。 目前,Discuz! 标准版本附带了简体中文、繁体中文和英文的语言包,但为了节省空间,并没有将每个语言包与模板对应,而是放入了压缩 包的 ./languages 目录中。例如,如果您需要将默认模板的语言替换为英语,将压缩包中的 ./languages/english 目录下全部 *.lang.php 文件覆盖服务器上 ./templates/default 中的相应文件,并在系统设置中“更新缓存”即可。 如果需要实现同时支持多种语言文字提示,例如为论坛新增英文界面,可在系统设置中,新建一个模板套系,取名“English”,对应模板目录 为 ./templates/english。将默认模板 ./templates/default 中的全部 *.htm 文件(模板文件)复制入这个目录,然后将压缩包中 ./languages/english 中的 *.lang。php 文件(语言包文件)也复制到这个目录。然后在系统设置的风格方案中,新增一个名为“English”的 界面,设置其内容使之同标准风格(Default Style)一致,并设置可选,此时就形成了用户可选的多种语言提示界面。 目前语言包共包含以下几个文件,分别对应内容如下:
注意:其中修改 templates.lang.php 必须更新缓存后才能使修改生效,其他语言包不必。 |