多國語言i18n -- template

設計網頁模版時,模版中出現的文字,該如何實現多語系,這裏來詳細說明

1.首先,在 .pt檔的開頭,html tag,必需先定義各項namespace

<html
      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
      lang="en"
      i18n:domain="mysite.content">

撇除與i18n無關的各項設定,請檢查開頭應該要有以上三個設定, 說明如下

xmlns:i18n="http://xml.zope.org/namespaces/i18n" : 設定i18n支援

lang="en" : 預設語系,一般多語系網站建議預設使用en會比較好,避免未來發生語系衝突徒增除錯困擾

i18n:domain="mysite.content" : i18n domain,不同的模組可能會有相同的單字要翻譯,但又可能翻譯的文字並不相同,加上i18n domain,可以避免模組間翻譯互相影響的問題

2. .pt檔的內容中,遇到要翻譯的內容可以如下處理:

<span i18n:translate="">Description</span>

如此,即可以對內容文字 Description 進行多語處理

3. 如果是tag的屬性要翻譯,則可以如下處理

<input name="Delete" i18n:attributes="name">

如此,即可以對屬性name的內容 Delete 進行多語處理

4.將pt檔依以上做法處理完所有必需多語化的元素之後,即可配合 i18ndude,將所要翻譯的內容一次納入到pot檔中,批次進行多語翻譯