2011-11-01 125 views
6

我有一個類似的問題,這裏Why doesn't Django produce locale files from template files in another directory?Django的國際化

發現但是我不明白的解決方案。我的結構:

Project 
    App1 
     locale 
     templates 
    App2 
     locale 
     templates 
    templates 
     somefilethatneedstranslation.html 

現在,當我運行從應用1這個命令:

python ../manage.py App1 -l nl 

它很好地創造了在App1的區域設置文件夾中的應用1模板的PO文件

不過,我想我的世界注意:我不希望在我的項目根目錄下有一個locale文件夾,所以我嘗試從App1向模板文件夾添加符號鏈接,但它不會將翻譯結果附加到App1/locale/po文件

從App1的文件夾

ln -s ../templates/locale/* translations 
python ../manage.py App1 -l nl --symlinks 

我缺少什麼?

注:

從模板文件夾

python ../manage.py templates -l nl 

可以工作,但因爲很明顯模板不是安裝的應用程序不會,看來我的思念明顯...

+0

您想在哪裏存儲全局模板的翻譯? – akonsu

+1

以及django 1.4 alpha告訴我項目根目錄下的locale文件夾已被棄用..所以我想其他地方呢? django沒有提供全球模板翻譯的開箱即用方法,這感覺真的很奇怪嗎? –

+0

當您從項目目錄運行「django-admin.py makemessages -l nl」時會發生什麼情況? – akonsu

回答

6

全取消消息(其也在translation docs解釋)是:

Translations in the project directory aren't supported anymore. LOCALE_PATHS setting instead.

此消息可能有點不清楚。雖然自動不贊成在項目目錄中發現翻譯,但使用LOCALE_PATHS來引用項目級語言環境文件夾是完全可以接受的。

如果您有項目級別的模板,則將這些模板翻譯爲特定於應用程序的區域設置位置是沒有意義的:保留項目級區域設置目錄,在LOCALE_PATHS中引用它。

+0

謝謝,猜我錯過了那部分:) –