2011-09-07 71 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}) 

祝你好运。