2010-11-18 274 views
0

我在一個雙語的網站在我安裝了國際化模塊和瀏覽翻譯模塊,以及許多其他的Drupal 6的最新版本視圖元素的默認語言。Drupal的國際化 -

問題:開/管理/編譯/翻譯/搜索,一些元素(如視圖標題)出現在文本組中「視圖」和Drupal假定他們是在德國,需要翻譯成英文。

其他元件(例如暴露過濾器標記物)出現的「內置接口」文本組中和Drupal假定它們是在英國,需要德語翻譯。但實際上所有的字符串都在德國:

alt text

需要明確的是,我沒有看到一個問題,與語言選擇或視圖的顯示。問題出在頁面首先被語言系統解析並且任何可翻譯的字符串被插入到翻譯表中。 Drupal爲同一頁面上的元素分配不同的源語言。一旦這些字符串被翻譯,結果就是混合了各種語言。

我想也許它是用戶的語言首選項,誰先打印頁面,干擾這一點,但一旦我開始改變它,我跑到this issue(閱讀該線程大開眼界 - 它應該是強制性的閱讀任何考慮Drupal的企業級解決方案的人)。好的,現在我在混合中使用了URL前綴,這意味着當用戶更改語言首選項時,在手動更改URL之前,網站語言不會更改。 一旦我設法獲得以英文呈現的頁面,事實證明,當顯示語言等於源語言時,Drupal沒有拿起翻譯字符串。所以沒有運氣。

我準備2種語言的代碼我認爲,這取決於認爲Drupal的源語言是各種要素,但即使這是行不通的。有沒有人經歷過這個?

+0

恩,你一定是指i18n,不是嗎? – 2010-11-18 20:39:28

+0

是的,謝謝。我糾正了標題。 – cdonner 2010-11-20 04:06:26

回答

3

我認爲你可能不得不在如何Drupal的多語言系統工作的基本錯誤。我在我創建的第一個多語言Drupal站點上犯了同樣的錯誤。

最重要的事情是 - 如果你的語言之一是英語 - 英語運用在你的代碼。如果您需要將「房間」一詞放在模板的其中一箇中,請使用t('room')而不是t('zimmer')。您的視圖標題?使用英語。標籤名稱和說明?使用英語。主要語言應該是英語。在您設置英文網站後,您可以使用翻譯界面翻譯您的網站。我知道一個人的母語不是英語聽起來很奇怪,但我用i18n製作了幾個多語種網站,這是以最少的併發症完成它的正確方法。

更改管理界面語言只更改界面 - 不是值。如果您將界面更改爲德語(即yoursite.com/de/admin/views),這並不意味着您處於「德語視圖」。這是相同的看法。

有一些例外 - 多變量,我在這裏所說:How can I set a different homepage per language in Drupal?

我希望這是有幫助的。

+0

我不會說這是有幫助的(Drupal的錯,不是你的),但它提供了一個解釋。我的計劃是先從德語開始,然後再添加英文。在我建立這個網站的時候,驗證這是否有效似乎是一種謹慎的做法。你告訴我,在我推出德語之前,我必須建立(最初並且可能總是不需要的,這取決於德國網站的成功)英文網站。 – cdonner 2010-11-20 04:05:06

+0

但是,由於這是我碰到的唯一問題(我曾遇到過這種情況),並且我能夠通過定義我的德語視圖的英文曝光濾鏡標籤來解決此問題,所以我正在穿越我的手指。將標籤翻譯成德語後,視圖在兩種語言中都能正常工作。 – cdonner 2010-11-20 04:09:18