首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在django应用中安装翻译的".po“?

如何在django应用中安装翻译的".po“?
EN

Stack Overflow用户
提问于 2011-09-07 20:25:34
回答 3查看 1.9K关注 0票数 2

几天前,我完成了为Django-LFS (Lightning Fast Shop)创建我的母语(pt_BR)的翻译文件。现在它已经完成了,我需要安装".po“文件,这个文件是我在Transifex中完成翻译后下载的。

好的,我下载了这个文件,但现在我需要安装它,我只是不知道如何安装。我试着把文件放在' LFS -installer‘文件夹中,使用"bin/django compilemessages -a",尝试同样的事情,但是文件在很多不同的文件夹中,但我就是不能让我的LFS使用我的翻译文件……

有谁知道如何让翻译包在lfs上工作吗?还是我做错了什么?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-09-07 22:10:16

将您的.po文件放入以下路径:

代码语言:javascript
复制
<your_django_project>/conf/locale/pt_BR/LC_MESSAGES/

然后运行django-admin makemessages -a

票数 1
EN

Stack Overflow用户

发布于 2011-09-08 01:10:00

如果还没有这样的文件夹,请创建一个名为Locale的文件夹。然后,在您的settings.py文件夹中,您必须告诉它在哪里可以找到区域设置路径。如下所示:

代码语言:javascript
复制
LOCALE_PATHS{
C:/sdalfjasd/dfalsdjkf/locale
}

还要确保在您的中间件中有区域设置中间件...

既然我已经为您指明了正确的方向,那么您可能可以有效地跟踪该语法和细节。

设置好这些内容之后,就可以运行makemessage -a命令了,该命令将在本地语言环境文件夹中为您输入的-a创建一个文件夹。然后你可以浏览到这个,里面应该有一个.po文件(可能没有)。如果没有,只需将您创建的.po文件放入其中。

然后在CMD中浏览到您的项目,并运行compilemessages -a。这应该会将您的.po文件编译成.mo文件,这是翻译工作所必需的文件。

希望我没有发疯……

票数 0
EN

Stack Overflow用户

发布于 2013-02-24 03:40:20

我使用以下设置使其正常工作:

代码语言:javascript
复制
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模块来处理货币显示,但是locale模块有一个bug,它可以显示1234,00 R$而不是R$ 1234,00。如果它咬了你,把下面的代码放入你的settings.py

代码语言:javascript
复制
# 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})

祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7333857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档