2011-04-04 71 views
2

我對網站的URL地址國際化有疑問。如何進行網址國際化?

問題是如何正確使用?

我想要做的就是這樣的事情。

假設你有一個URL在地址欄中

www.mydomain.com/en/book

然後如果你鍵入www.mydomain.com/de/book,你會被重定向到一個站點的德語版本,因此網址將變更爲www.mydomain.com/de/buch等。

想法

我想過做這將作爲不同語言之間的字典表。對於網站內容,我仍然會使用i18n,但我認爲網址無法應用。

實施

我想過的方式,在調用任何連接之前,我將在URL識別出用戶想要的語言,並將其存儲在一個會話變量修改routing.py用於以後使用i18n。然後我會將用戶重定向到此lanugage的正確url並調用poper 控制器/操作

歡迎任何想法,建議或recomendations。

編輯(2011-04-04 18時35分):

  1. 我剛纔提醒自己,我已經遇到了類似的問題上Opera Blog;
  2. StackOverflow存在問題:Pylons application Internationalization,但它僅處理網站國際化,沒有問題,包含網址;
  3. WZeberaFFS指出我們如果沒有參考以前的語言設置考慮到可能出現的一個小問題;
  4. 附加問題:應該在數據庫中存儲什麼,以使其工作速度更快?我有我自己的想法,但我稍後會試一試。
+0

爲什麼這些網址需要翻譯? – Daenyth 2011-04-04 19:37:01

+0

爲什麼不呢?給你一個理由:我認爲這將是一個很好的搜索引擎優化實踐,因爲每個鏈接/網址將始終有效,並將適當的單詞和語言。所以,不會有像'/ de/book'這樣的情況,這是沒有意義的。此外,我認爲這將是一個很好的功能。 ;) – 2011-04-04 19:53:13

回答

0

我不知道它是如何在Python中完成的,但通常人們通過某種URL重寫或URL過濾來做這樣的事情 - 這會消耗你的URL並重新指向適當的頁面設置區域設置在同一時間。

1

我相信你的實現將工作日誌,你不必到一樣,如果你有一個名爲www.mydomain.com/en/music和頁面不同的頁面相同的名稱,如果music在德國是book,那麼問題將是,如果你想去www.mydomain.com/fr/music,那麼你不知道你是否來自/de//en/。但是這只是一個問題,如果你在不同的頁面上碰撞名字,如果你不知道它們在哪裏形成凸輪形式,但是你會知道他們在哪裏前進,如果你有兩個不同頁面的單詞的同名,它仍然可以工作。

如果你有這個問題,那麼你必須保存一個會話或希望客戶端發送一個引用。

+0

好點(upvote)。雖然,這不太可能會發生。但是,正如你所提到的,我將不得不檢查會話變量**或**引用。 – 2011-04-04 16:31:45