Drupal的模塊都是以英文來發布的,漢化文件主要由Drupal China來發布,但一些第三方的模塊的漢化可能會比較慢,往往會延遲好幾個月。如果要在漢化文件發佈之前使用這些模塊,就需要自己進行一些漢化工作。在漢化時有一個模塊是很有用的,它叫POTX。
點擊下載http://ftp.drupal.org/files/projects/potx-6.x-2.2.tar.gz。它可以用來提取模塊和主題的字符串,我們只需將提取的這些字符串進行翻譯就可完成模塊或主題的漢化。
下載安裝後它會在站點構建裏,如下圖
點擊Extract進入提取界面,你會看到三個菜單:第一個是Drupal自帶的模塊目錄;第二個是第三方目錄;第三個是主題目錄。如果你是將 第三方 主題放在了Drupal自帶模塊目錄,就是Drupal根目錄下的modules目錄裏,那麼你就只能看到第一個和第三個菜單了。
下面以漢化E-commerce模塊爲例,展開“sites/all/modules”(如果你將第三方模塊放在了Drupal自帶模塊目錄,請展開“modules”),找到E-commerce模塊項選中下圖中的單選按紐
然後將頁面拉到底部,選中以下兩個選項。第一個是導出簡體中文的翻譯模板文件,第二個是將當前模塊中已經被漢化的部分也導出。點擊Extract開始提取E-commerce
這時會彈出一個文件下載框,注意請使用系統默認工具下載,不要使用迅雷等下載工具,不然可能無法得到正確的文件。如下圖,使用默認文件名,保存。
但是這樣提取的是一個單獨的很大的翻譯模板文件。因爲e-commerce是一個比較大的模塊,它由很多小的模塊組成,我們可以對每一個小的模 塊分別 提取。只要在選擇導出時展開e-commerce菜單,選擇它的子模塊所在目錄,點提取這樣就可單獨得到該子模塊的翻譯模板,如圖
使用Dreamweaver打開提取的po模板文件
方框中的爲此模板所翻譯的幾個源文件,因爲翻譯是針對很強的,只對以上版本的幾個文件有效。另外如果將以上文件進行添加行或刪除行都可能會導致 翻譯文 件失效,因爲翻譯是根據每一行內的內容對文件進行翻譯的,下面會說明。模板前面的內容主要爲一些說明信息和其他配置,默認即可。向下找到以“#:”開始的 部分,我們的翻譯就是從這裏開始的。
msgid後面雙引號內的部分就是需要翻譯的語句。將翻譯結果填寫在msgstr後的雙引號內。全部翻譯完成後將po文件導入就完成了漢化,其它模塊和主題的漢化大同小異。
前圖中藍色框內的ec_address.admin.inc:25,其中冒號前的是該字符串所在的文件,25爲所的行數。使用Dreamweaver打開該文件,找到25行,可看到
在翻譯的過程中有一些內容是不能被翻譯的,否則會導致模塊出錯。比如一些變量,html語句等。其中我發現的變量有以"!""%""@"開關的單詞,如下圖:
可能還有一些其它特殊符號開頭的英文,安全起見暫不翻譯。還有以下劃線連接的單詞,不知何意,暫時不翻譯。如下
關於超鏈接,超鏈接格式爲<a href="鏈接地址">鏈接名</a>,鏈接名的位置可以翻譯,其它部分不動。示例如下:
另外在/"……/"之間的內容根據情況選擇性翻譯。/爲轉義字符,/"就是用來輸出一個 " 雙引號的。如果之間爲純單詞,就可以翻譯,其它的不翻譯。
下圖中方框內的"node/1"和"cart/view"爲路徑名,無需翻譯。
其實對於一些翻譯量很小的模塊也可以使用另外一種方法,就是用Drupal自帶的界面翻譯。如圖,現在Guestbooks爲英文
進入管理-站點構建-界面翻譯(需要先啓用Drupal核心Local模塊才能看到此項),輸入關鍵詞Guestbooks查找,結果如下:
點擊編輯進入翻譯
填入需要翻譯成的中文意思,點擊保存翻譯,可以看到翻譯已經完成。
最後補充一下po文件的導入。有兩種方法:第一是手動導入,同樣是在翻譯界面裏,點擊"導入",選擇要導入的po文件,點導入,稍等片刻就可以了; 第 二種方法是將該po文件放在它對應的模塊目錄的translations目錄下,在你添加中文語言並設置爲默認時會自動導入,這種方法適合多個po文件的 批量導入。
From:http://blog.sina.com.cn/s/blog_502ea0fb0100d3nm.html