2011-11-29 40 views
1

我有一個法語和英語網站,非常基本。我創建了我的fr語言文件。我有幾個翻譯過的字符串來測試這個以確保它能夠正常工作,但我很困惑,因爲如何設置實際的語言間切換鏈接。我跟着這個,https://docs.djangoproject.com/en/1.3/topics/i18n/internationalization/#the-set-language-redirect-view,但收到404的/下一頁/頁面,我正確地做到這一點?這裏是我的代碼,如果這有助於:Django語言之間的國際化切換

   <form action="/i18n/setlang/" method="post"> 
       {% csrf_token %} 
       <input name="next" type="hidden" value="/next/page/" /> 
       <select name="language"> 
       {% get_language_info_list for LANGUAGES as languages %} 
       {% for lang in LANGUAGES %} 
        {% if lang.0 != '' %} 
         <option value="{{lang.0}}">{{lang.1}}</option> 
        {% endif %} 
       {% endfor %} 
       </select> 
       <input type="submit" value="Go" /> 
      </form> 

我也加入了我的網址,像這樣:

(r'^i18n/', include('django.conf.urls.i18n')), 

而且我有這個在我的中間件和語言設置:

'django.middleware.locale.LocaleMiddleware', 

LANGUAGES = (
    ('en', 'English'), 
    ('fr', 'French'), 
) 

我很困惑如何做到這一點,所以我可以在兩種語言之間進行切換,或者,如果我正確地做到了這一點,爲什麼在嘗試更改語言時會在/ next /頁面中看到404錯誤?

謝謝!

傑夫

回答

1

在這一行

<input name="next" type="hidden" value="/next/page/" /> 

你需要替換"/next/page/"與您需要的語言變化後,加載頁面。

如果你想加載相同的頁面,你應該寫value=""

+0

(實際上,'/ next/page /'只是一個例子,意思是「在這裏放置你想成爲你下一頁的頁面的路徑」) – dolma33

+0

哦,那很愚蠢。我認爲它需要一個新的URL輸入,謝謝! – JeffC