前年底、去年初選用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
评论