2011-09-07 74 views
2

我幾天前完成了,爲我的母語(pt_BR)創建了Django-LFS(Lightning Fast Shop)的翻譯文件。現在完成了,我需要安裝在Transifex中完成翻譯後下載的「.po」文件。如何在django應用程序中安裝翻譯「.po」?

好吧,我下載了這個文件,但現在我需要安裝它,我不知道如何。我嘗試使用「bin/django compilemessages -a」將該文件放在'lfs-installer'文件夾中,嘗試了同樣的事情,但在許多不同的文件夾中使用該文件,但我無法讓我的LFS使用我的翻譯文件。 ..

有誰知道如何使翻譯包在lfs上工作?或者我做錯了什麼?

感謝

回答

1

把你的路徑.po文件:

<your_django_project>/conf/locale/pt_BR/LC_MESSAGES/ 

和運行 Django的管理員makemessages -a

+0

沒有工作...在這樣做後,我重新啓動服務器,但所有的字符串仍然是英文... –

+0

檢查settings.py中的LANGUAGE_CODE選項不是「en-en」 – jellyfish

+0

它被設置爲pt-br = / –

0

如果你不已經有一個,創建一個文件夾,名爲語言環境。然後在您的settings.py文件夾中,您必須告訴它在哪裏查找區域設置路徑。事情是這樣的:

LOCALE_PATHS{ 
C:/sdalfjasd/dfalsdjkf/locale 
} 

另外,還要確保你有語言環境中間件在中間件​​...

你或許可以有效地追查這句法和細節,因爲我指出你在正確的方向。

一旦你設置了這些東西,你可以運行你的makemessage -a命令,它會在你的locale文件夾中爲你放入的-a創建一個文件夾。然後你可以瀏覽到它,裏面應該有一個。 po文件(可能沒有)。如果沒有,只需將你在.po文件中製作的文件放在那裏。

然後在您的CMD中瀏覽到您的項目,並運行compilemessages -a。這應該將.po文件編譯到.mo文件中,這是翻譯工作所必需的文件。

希望我沒有發瘋偏離軌道......

0

我把它使用以下設置工作:

import os 
DIRNAME = os.path.dirname(__file__) 

USE_I18N = True 
USE_L10N = True 

LANGUAGE_CODE = 'pt-br' 
LANGUAGES = (
    ('pt-br', u"Português"), 
) 

LOCALE_PATHS = [ 
    DIRNAME + '/locale', 
] 

比一旁創建settings.py文件夾的文件夾locale和按照Django官方說明操作。您的django.po文件的期望路徑是:locale/pt_BR/LC_MESSAGES/django.po。之後,使用compilemessages工具並重新啓動服務器。

它應該工作。

提示: Django的LFS使用locale模塊來處理貨幣顯示,但對於本地化模塊,使得它顯示1234,00 R$,而不是R$ 1234,00的錯誤。如果它咬你,把以下內容加入你的settings.py

# Fix for LC_MONETARY bug: http://www.sourceware.org/bugzilla/show_bug.cgi?id=1294 
import locale 
locale._override_localeconv.update({'p_cs_precedes': 1, 'n_cs_precedes': 1}) 

祝你好運。