請教各位先進,我在安裝i18n後,對node的翻譯模式已熟悉,就是在原始node外(假設是中文)再新建另一語言node(假設是英文),其實是一體兩面,但是對於menu和block的翻譯模式一直弄不懂!
我本來把node的模式套過來想,也就是一體兩面的想法,一個menu link應該對應一個node後,然後判斷語系,再選擇出現中文還是英文,不過實際測試下好像不是如此!
問題:
原來menu link下(連接中文node),點擊翻譯後只能翻譯編輯連結的標題。在切換文英文語系後,menu會顯示英文標題,但點擊後卻連到中文node。
設置block時也是,在切換文英文語系下,標題顯示也是英文,但內容還是原來的中文。
這樣是不就是要獨立建兩套menu和block才能達成不同語言連到不同node的功能?還請各位先進指教!
Re: 選單翻譯問題
之前在 D6 我好像都是建兩套 menu,因此我不確定是否真的需要建兩套 menu(因為多數情況下是中文選單和英文選單會略有不同,本來就得建兩套處理)。
至於 D7 的話,則確定是一套 menu/block 就可以了,可以參考 Using Drupal 第八章。
http://drupalbook.tw/usingdrupal/content
Re: 選單翻譯問題
我推測 ckflare 的問題應該是沒有替原來中文的 node 1 建立翻譯的 node 2,而只是在英文介面中編輯 node 1 的選單項目翻譯,所以連結自然還是連到 node 1.
即便 D7 裡頭可以使用一個 menu 搞定兩種語系的選項,也是得先完成必要的節點翻譯工作。
參考 Using Drupal 第八章 +1
Re: 選單翻譯問題
感謝兩位的回覆!我其實是有利用node1的翻譯建立node2,也就是我說得一體兩面,但是node1和node2都分別可以產生menu link,我的想法是如果只有一套menu下應該只有一組menu link,然後在藉由語言判定是連node1或是node2呢?
還是說我在node2不要產生menu link?
Re: 選單翻譯問題
D7 的做法還是要產生 menu link
但要安裝 http://drupal.org/project/variable 模組,並啟用 menu translation 模組
Re: 選單翻譯問題
gloomcheng,tky你好,我依序裝了上述模組後,還是有點疑問,附圖1的紅框是不是就是您所謂的一組menu,但是針對不同語言,還是要建分開的menu link(綠框)?
而在Translation sets(附圖2)若有出現綠框內的OOO/XXX,就代表此兩個翻譯是連結在一起的?也就是menu的翻譯有被正確設定?
小弟的疑惑煩請二位指教!
Re: 選單翻譯問題
1. yes
2. 這個功能我沒試過,不過看來是如你所言。總之,就是選單項目也可以設語系,只要設好對應的語系,就可以在切換語系後看到對應的項目。
Re: 選單翻譯問題
以我的經驗,使用 i18n 應該就足夠了,
以你首頁頁面連結為例,架構像是這樣
Node 1
- lang => zh-hant
- title => 首頁
- body => 中文內容文字
Node 2
- lang => en
- title => Homepage
- body => English content
兩者在 node/[nid]/translate 已經正確互相對應,
各自帶有已翻譯的選單標題
第二步很重要:
在編輯選單 (Edit Menu) 有一個地方可以設定多語系時所採取的顯示規則 (以主選單為例: admin/structure/menu/manage/main-menu/edit )
設定為第二項: Translate and Localize. Menu items with language will allow translations. Menu items without language will be localized. (參考下圖)
這樣會有兩個狀況來判斷是否顯示該選單連結
1. Localized 跟著 node 一起設定好的連結,
2. Translate 屬於自行新增或是配合 Views 頁面使用的連結
Re: 選單翻譯問題
非常謝謝各位的圖文教學,讓在下對翻譯的使用更上手,不過這裡這裡還有一個問題,就是翻譯區塊的處理,我有上網看一些關於處理區塊翻譯的文章,有人是建兩個區塊,然後針對不同語言顯示。但我比較偏好建一個區塊,然後針對其翻譯,這樣比較好管理,但是要翻譯卻只能針對標題翻譯,卻不能對內容翻譯?附圖"內容"的地方呈現灰色,無法點選編輯,這讓我很困擾!請教該如何解決?
Re: 選單翻譯問題
自訂區塊的內容畢竟不是 node,要做到你想要的「單一自訂區塊有多語內容」恐怕非常困難。
不過如果你的區塊內容是用 views 產生的話,就可以設定 filter,隨介面語系撈出不同語言的內容。
Re: 選單翻譯問題
區塊我在 6.x 使用過內容的翻譯,得要到翻譯界面去處理,長期管理很麻煩,因此建議還是分開。
views 的區塊可以用 tky 的方法。
如果是自定新增的區塊,可以配合 Context 模組使用,讓區塊依照邏輯條件顯示。
Re: 選單翻譯問題
謝謝各位的回答,我的問題大致上解決了,希望我的問題也能幫助到大家!