2011-04-05 63 views
2

我卡住了一點,需要你的建議傢伙......我創建的網站將被翻譯成兩種語言。例如,我有兩個網址/圖庫/圖片和/ galerija/paveikslai(這些是相同但不同的語言),它們指向相同的內容(例如將顯示畫廊)。多語言Django網站與自定義網址

當然,根據鏈接,它應該改變內容的語言和頁面本身。任何想法如何做得更好?也許我需要使用語言前綴?如果是的話,我將如何處理它(中間件什麼的)?

也許有人已經做了同樣的事情,並有一些很好的建議或代碼來顯示?

感謝, Ignas

+0

你看過'django國際化和本地化嗎? http://docs.djangoproject.com/en/dev/topics/i18n/ – manji 2011-04-05 13:35:34

+0

當然。但是你不告訴我把所有從DB獲得的內容都翻譯成這樣?當你有動態內容並且它來自數據庫時,我更喜歡用語言指示器將這個不同的內容保存在數據庫中。然後通過使用不同的鏈接或slug,你會得到不同的內容。翻譯一些單詞,句子 - 確實有翻譯文件很好。 – 2011-04-05 13:49:10

+0

這是相當老的博客文章,但可以幫助:http://www.muhuk.com/2010/01/dynamic-translation-apps-for-django/ – 2011-04-05 14:06:59

回答

1

也許是這樣的:

settings.py:

from django.utils.translation import ugettext_lazy as _ 

GALLERY_URL = _('gallery') 
PICTURES_URL = _('pictures') 

urls.py:

url(r'^'+settings.GALLERY_URL+'/'+settings.PICTURES_URL+'/$', 
    'my_view',   
    name='my_view'), 

您應該以某種方式驗證GALLERY_URL和PICTURES_URL不爲空。

+0

不錯的提示。我通過分離取決於語言的url.py文件來完成它。我也把語言前綴。中間件檢查URL中的語言。這有助於建立更多用戶友好的鏈接。但你的提示也很好。謝謝。 – 2011-06-22 11:47:16