目录
基于 Dokuwiki 的多语种站点
DokuWiki 的多语种支持
DokuWiki 默认支持多语言,您可以在 安装配置 DokuWiki 时选择默认的语言。但是这种语言选择是单一的,安装之后您的 DokuWiki 就以您选择的默认语言工作了。
为了让 DokuWiki 同时支持多种语言,可以安装 plugin:translation 插件。
此插件最初是为了方便 DokuWiki 的站内文档而开发的,您也可以用它来实现基于 Dokuwiki 的多语种站点。
plugin:translation 插件提供了如下的功能:
- 使用分离的语种名字空间存储不同语种的文档
- 主配置中指定的默认语言用作主语言
- 没有语种名字空间的文档用作主语言
- 一个页面的不同语种版本使用相同的页面名称
例如:若用户的主语言是简体中文(zh),同时提供英语和法语版本
1、整个网站开启了翻译功能,则站点结构如下:
/
|-- start
|-- doc/
| |-- docbook/
| | |-- start
| | `-- intro
| `-- symfony_book/
| `-- start
|-- about
|-- en/
| |-- start
| |-- doc/
| | |-- docbook/
| | | |-- start
| | | `-- intro
| | `-- symfony_book/
| | `-- start
| `-- about
`-- fr/
|-- start
|-- doc/
| |-- docbook/
| | |-- start
| | `-- intro
| `-- symfony_book/
| `-- start
`-- about
2、在网站内指定的名字空间(如:doc)开启了翻译功能,则站点结构如下:
/ |-- start |-- doc/ | |-- docbook/ | | |-- start | | `-- intro | |-- symfony_book/ | | `-- start | |-- en/ | | |-- docbook/ | | | |-- start | | | `-- intro | | `-- symfony_book/ | | `-- start | `-- fr/ | |-- docbook/ | | |-- start | | `-- intro | `-- symfony_book/ | `-- start `-- about
安装配置 Translation 插件
安装 Translation 插件
使用 插件管理器 安装 plugin:translation 插件。
配置 Translation 插件
修改模板
修改模板的 main.php ,在合适的位置添加如下的代码:
<?php $translation = &plugin_load('syntax','translation'); echo $translation->_showTranslations(); ?>
例如,使用 Arctic 模板,且您配置使用了“右 Sidebar”,要将此代码添加到 “右 Sidebar”上,您可以修改 lib/tpl/arctic/main.php,在
<?php } elseif(tpl_getConf('sidebar') == 'right') { ?> <?php if(!tpl_sidebar_hide()) { ?> <div class="left_page"> <?php ($notoc) ? tpl_content(false) : tpl_content() ?> </div> <div class="right_sidebar">
之后插入上面的代码。
使用 Translation 插件
看几个页面截图吧
- 您可以先创建主语言(没有语种名字空间,如
en:、fr:等)的页面,再通过插件上的按钮创建其他的语种版本 - 您也可以先创建一个非主语言的页面(注意在页面名称前添加语种名字空间,如
en:、fr:等),再通过插件上的按钮创建其他的语种版本(包括主语言版本)













