前年底、去年初选用Drupal的一个重要原因是可以用来做外文网站,去年一年也确实用于了搭建多站点、多语言的网站,不过当时的做法很原始,各种语言的网站都是完全独立的一套东西,做起来比较麻烦,占用服务器资源也大,请看去年搭建的一套多语言网站列表:
Multilingual China Postcode (多语言中国邮编)
其他外文网站也基本上都是单个站点一种语言。而今年再想做多语言网站就是希望能用一套数据库来搭建多种语言的系列网站。上周开始进行了一些尝试,初步可以实现,五一小长假这几天也宅在本地没有外出,也抽空做了各种相关的实验和设置,记录如下:
模块安装:
- 在Drupal核心模块中开启Content translation和Locale;
- 安装i18n这个模块,打开其中的一系列功能子模块;
- 安装languageicons这个模块,用于在语言切换区块中显示语言图标;
- 安装l10n_update这个模块,自动或者手动更新需要的语言翻译文件;
- 开启XML sitemap这个模块中的internationalization功能。
设置:
- “语言”中设置了13种语言,比MediaWiki时用的12种语言又添加了一个世界语来测试,m默认还是设置的English;
- “多语言设置”中进行了相关的设置;
- “翻译”中可以查看、修改、导入、导出各种翻译信息;
- 内容类型Content type中设置cpv为支持多语言,但不支持翻译功能;
- 内容类型的各个字段设置为字段名可以翻译;
- 分类Taxonomy设置为Term不支持翻译功能;
- 我先直接在node--cpv.tpl.php中对各种语言的变换进行处理,后来改为使用po文件来处理需要进行的翻译,程序只处理变换、显示等功能;
- 区块Block未设置翻译;
- 菜单Menu中设置了对首页“Home”的翻译;
- po文件中采用感叹号带变量的形式来实现句子翻译,其中可嵌入变量。
还有一些细节待以后补充完善。
附本次设置的单个数据库为基础的多语言站点如下:
Cape Verde Postcode (佛得角邮政编码)
- العربية
- 简体中文
- 繁體中文
- English
- Esperanto
- Français
- Deutsch
- Italiano
- 日本語
- 한국어
- Português, Internacional
- Русский
- Español
评论