其實在多語言drupal 站,而且會用url alias 在node content 給url alias 時,是否需要prefix 一個語言字串 ?? 比如, 有個content page node/4 , About us node/5 關與我們 在加url alias是否要這樣 ? About us -> en/about_us 關與我們 -> cht/about_us 模組/Modules6.x5.x 發表回應前,請先登入或註冊 Re: URL Alias 在多語言站設定問題 有是最好摟,不過沒有自動設定的功能嗎? 發表回應前,請先登入或註冊 Re: URL Alias 在多語言站設定問題 就如你所說的一樣。 在我使用 Drupal 6 預設的 Locale 這個模組來說,的確是可以自定不同語言的 prefix。 ex, node/5 -> 中文(預設的語言) en/node/6 -> 英文(如果你有寫英文版的話) 然後你當然也可以給他們如下的 url alias node/about_us en/node/about_us -- Drake 發表回應前,請先登入或註冊 Re: URL Alias 在多語言站設定問題 因為我試過 node/4 , About us node/5 關與我們 加url alias時不加語言prefix About us -> about_us 關與我們 -> about_us drupal 話有重複的什麼 發表回應前,請先登入或註冊 Re: URL Alias 在多語言站設定問題 嗯…照你的說法,的確是有點不太人性。 如果 autopath 有「中文字彙」版的,那也許就可以全權交給它處理了 :o 發表回應前,請先登入或註冊 Re: URL Alias 在多語言站設定問題 我在使用i18n的過程中發現一個問題,當打開了某語言並非首頁的某篇文章時,選「語言轉換」中的其他語言不能正確轉換。如正在閱讀並非首頁的某篇英語文章en/node/40,若點選「語言轉換」中的正體中文,這時看到的導航條是正體中文,文章卻仍為原英語的文章,因我並沒有zh-hant/node/40的文章對應,必須再點取「首頁」後才能轉到正體中文。 另外不知是不是i18n的問題,當某種語言有兩篇以上的文章時,該語言首頁上的同一篇文章就會重複出現。如總共有5篇不同內容的英語文章,首頁上的同一篇英語文章就會重複出現5次。 請問應如何解決? 發表回應前,請先登入或註冊 Re: URL Alias 在多語言站設定問題 D5 和 D6 的 i18n 對於 URL Alias 的處理方式不同. 請看下圖, 黃色標記的部份, 在 D5 不存在, 因此我可以作如下設定: node/4 -> en/about_us node/5 -> zh-hant/about_us 事實上, 我的 D5 網站就是這樣設定的跑了快一年了. 但是 D6 的 URL Alias 不一樣了, 而且我覺得怪怪的, 如下圖, 我那時的 URL 是 drupal6. dnsalias.org/en/admin/build/path/edit/1. 當我切換到 zh-hant 的時候, 黃色的部份也會跟著變成 zh-hant. 也就是說, 如果我設定的 language 是 All languages 的話, "http://drupal6. dnsalias.org/en/node-1-story" 和 "http://drupal6. dnsalias.org/zh-hant/node-1-story" 都可以作用的. (我貼的圖是 Chinese, Traditional, 因此在我這張圖的設定, "http://drupal6. dnsalias.org/en/node-1-story" 是會出現 page not found) 目前我是覺得在 D6 要做到 en/about_us 和 zh-hant/about_us 同時能使用應該是沒有辦法的 :( 可以參考我另外寫的這篇 http://drupaltaiwan.org/forum/20081109/2763 發表回應前,請先登入或註冊 Re: URL Alias 在多語言站設定問題 才貼完文, 再看了一下 url alias 的 db schema, 在 D6 的 unique 變成了 dst + language, 而不是只有 dst 而已. 所以把 language 設成不同的, 如下圖, 就可以使用 en/about 和 zh-hant/about 了. 所以問題是解決了... 但是, 得手動一個一個改啊 ... :( 發表回應前,請先登入或註冊 Re: 測試了一下, 可以不用一個一個改, 只是我是直接改 database, 如果想參考我的方式, 請先備份 ... 1. 執行下列 SQLUPDATE `dr_url_alias` SET language = 'zh-hant' WHERE dst like 'zh-hant%' 2. 執行下列 SQLUPDATE `dr_url_alias` SET language = 'en' WHERE dst like 'en%' 3. 把整個 url_alisa 的資料 export 出來, 用 SQL insert 的格式 4. 用 ultraedit 之類的編輯器, 把 'zh-hant/ 和 'en/ 換成 ' 5. 執行下列 SQLtruncate table dr_url_alias 6. 執行步驟 4 修改後的 SQL 大功告成, 所有 URL alias 都對了. 不好意思, 連續貼了好幾篇文. 發表回應前,請先登入或註冊
Re: URL Alias 在多語言站設定問題 就如你所說的一樣。 在我使用 Drupal 6 預設的 Locale 這個模組來說,的確是可以自定不同語言的 prefix。 ex, node/5 -> 中文(預設的語言) en/node/6 -> 英文(如果你有寫英文版的話) 然後你當然也可以給他們如下的 url alias node/about_us en/node/about_us -- Drake 發表回應前,請先登入或註冊
Re: URL Alias 在多語言站設定問題 因為我試過 node/4 , About us node/5 關與我們 加url alias時不加語言prefix About us -> about_us 關與我們 -> about_us drupal 話有重複的什麼 發表回應前,請先登入或註冊
Re: URL Alias 在多語言站設定問題 我在使用i18n的過程中發現一個問題,當打開了某語言並非首頁的某篇文章時,選「語言轉換」中的其他語言不能正確轉換。如正在閱讀並非首頁的某篇英語文章en/node/40,若點選「語言轉換」中的正體中文,這時看到的導航條是正體中文,文章卻仍為原英語的文章,因我並沒有zh-hant/node/40的文章對應,必須再點取「首頁」後才能轉到正體中文。 另外不知是不是i18n的問題,當某種語言有兩篇以上的文章時,該語言首頁上的同一篇文章就會重複出現。如總共有5篇不同內容的英語文章,首頁上的同一篇英語文章就會重複出現5次。 請問應如何解決? 發表回應前,請先登入或註冊
Re: URL Alias 在多語言站設定問題 D5 和 D6 的 i18n 對於 URL Alias 的處理方式不同. 請看下圖, 黃色標記的部份, 在 D5 不存在, 因此我可以作如下設定: node/4 -> en/about_us node/5 -> zh-hant/about_us 事實上, 我的 D5 網站就是這樣設定的跑了快一年了. 但是 D6 的 URL Alias 不一樣了, 而且我覺得怪怪的, 如下圖, 我那時的 URL 是 drupal6. dnsalias.org/en/admin/build/path/edit/1. 當我切換到 zh-hant 的時候, 黃色的部份也會跟著變成 zh-hant. 也就是說, 如果我設定的 language 是 All languages 的話, "http://drupal6. dnsalias.org/en/node-1-story" 和 "http://drupal6. dnsalias.org/zh-hant/node-1-story" 都可以作用的. (我貼的圖是 Chinese, Traditional, 因此在我這張圖的設定, "http://drupal6. dnsalias.org/en/node-1-story" 是會出現 page not found) 目前我是覺得在 D6 要做到 en/about_us 和 zh-hant/about_us 同時能使用應該是沒有辦法的 :( 可以參考我另外寫的這篇 http://drupaltaiwan.org/forum/20081109/2763 發表回應前,請先登入或註冊
Re: URL Alias 在多語言站設定問題 才貼完文, 再看了一下 url alias 的 db schema, 在 D6 的 unique 變成了 dst + language, 而不是只有 dst 而已. 所以把 language 設成不同的, 如下圖, 就可以使用 en/about 和 zh-hant/about 了. 所以問題是解決了... 但是, 得手動一個一個改啊 ... :( 發表回應前,請先登入或註冊
Re: 測試了一下, 可以不用一個一個改, 只是我是直接改 database, 如果想參考我的方式, 請先備份 ... 1. 執行下列 SQLUPDATE `dr_url_alias` SET language = 'zh-hant' WHERE dst like 'zh-hant%' 2. 執行下列 SQLUPDATE `dr_url_alias` SET language = 'en' WHERE dst like 'en%' 3. 把整個 url_alisa 的資料 export 出來, 用 SQL insert 的格式 4. 用 ultraedit 之類的編輯器, 把 'zh-hant/ 和 'en/ 換成 ' 5. 執行下列 SQLtruncate table dr_url_alias 6. 執行步驟 4 修改後的 SQL 大功告成, 所有 URL alias 都對了. 不好意思, 連續貼了好幾篇文. 發表回應前,請先登入或註冊
Re: URL Alias 在多語言站設定問題
有是最好摟,不過沒有自動設定的功能嗎?
Re: URL Alias 在多語言站設定問題
就如你所說的一樣。
在我使用 Drupal 6 預設的 Locale 這個模組來說,的確是可以自定不同語言的 prefix。
ex,
node/5 -> 中文(預設的語言)
en/node/6 -> 英文(如果你有寫英文版的話)
然後你當然也可以給他們如下的 url alias
node/about_us
en/node/about_us
-- Drake
Re: URL Alias 在多語言站設定問題
因為我試過
node/4 , About us
node/5 關與我們
加url alias時不加語言prefix
About us -> about_us
關與我們 -> about_us
drupal 話有重複的什麼
Re: URL Alias 在多語言站設定問題
嗯…照你的說法,的確是有點不太人性。
如果 autopath 有「中文字彙」版的,那也許就可以全權交給它處理了 :o
Re: URL Alias 在多語言站設定問題
我在使用i18n的過程中發現一個問題,當打開了某語言並非首頁的某篇文章時,選「語言轉換」中的其他語言不能正確轉換。如正在閱讀並非首頁的某篇英語文章en/node/40,若點選「語言轉換」中的正體中文,這時看到的導航條是正體中文,文章卻仍為原英語的文章,因我並沒有zh-hant/node/40的文章對應,必須再點取「首頁」後才能轉到正體中文。
另外不知是不是i18n的問題,當某種語言有兩篇以上的文章時,該語言首頁上的同一篇文章就會重複出現。如總共有5篇不同內容的英語文章,首頁上的同一篇英語文章就會重複出現5次。
請問應如何解決?
Re: URL Alias 在多語言站設定問題
D5 和 D6 的 i18n 對於 URL Alias 的處理方式不同. 請看下圖, 黃色標記的部份, 在 D5 不存在, 因此我可以作如下設定:
node/4 -> en/about_us
node/5 -> zh-hant/about_us
事實上, 我的 D5 網站就是這樣設定的跑了快一年了.
但是 D6 的 URL Alias 不一樣了, 而且我覺得怪怪的, 如下圖, 我那時的 URL 是 drupal6. dnsalias.org/en/admin/build/path/edit/1.
當我切換到 zh-hant 的時候, 黃色的部份也會跟著變成 zh-hant. 也就是說, 如果我設定的 language 是 All languages 的話,
"http://drupal6. dnsalias.org/en/node-1-story" 和 "http://drupal6. dnsalias.org/zh-hant/node-1-story" 都可以作用的.
(我貼的圖是 Chinese, Traditional, 因此在我這張圖的設定, "http://drupal6. dnsalias.org/en/node-1-story" 是會出現 page not found)
目前我是覺得在 D6 要做到 en/about_us 和 zh-hant/about_us 同時能使用應該是沒有辦法的 :(
可以參考我另外寫的這篇 http://drupaltaiwan.org/forum/20081109/2763
Re: URL Alias 在多語言站設定問題
才貼完文, 再看了一下 url alias 的 db schema, 在 D6 的 unique 變成了 dst + language, 而不是只有 dst 而已.
所以把 language 設成不同的, 如下圖, 就可以使用 en/about 和 zh-hant/about 了.
所以問題是解決了... 但是, 得手動一個一個改啊 ... :(
Re:
測試了一下, 可以不用一個一個改, 只是我是直接改 database, 如果想參考我的方式, 請先備份 ...
1. 執行下列 SQL
UPDATE `dr_url_alias`
SET language = 'zh-hant'
WHERE dst like 'zh-hant%'
2. 執行下列 SQL
UPDATE `dr_url_alias`
SET language = 'en'
WHERE dst like 'en%'
3. 把整個 url_alisa 的資料 export 出來, 用 SQL insert 的格式
4. 用 ultraedit 之類的編輯器, 把 'zh-hant/ 和 'en/ 換成 '
5. 執行下列 SQL
truncate table dr_url_alias
6. 執行步驟 4 修改後的 SQL
大功告成, 所有 URL alias 都對了. 不好意思, 連續貼了好幾篇文.