本地化如何在Django中运作?

时间:2011-03-23 15:04:11

标签: django internationalization

我已阅读http://docs.djangoproject.com/en/1.3/topics/i18n/localization/

的一些主题

但还不明白我需要做什么。

首先我打算做什么...

我创建了一个名为“directorio”的新应用程序,现在我需要能够在一些数据库列中翻译数据。

my models.py

PS:我已经要求一种方法,我已经从用户“Tommaso Barbugli”获得了一些帮助

from django.utils.translation import ugettext as _

GENDERS = (('male', _('MALE')), ('female', _('FEMALE')))

class Genders(models.Model):
    n_gender = models.CharField(max_length= 60, choices= GENDERS)

执行此操作后,我认为我需要在App目录中执行* .po an * .mo文件...我试过这样做:

django-admin.py makemessages -l pt

但是没有用,我收到了这个错误:

Traceback (most recent call last):
  File "C:\Python27\Lib\site-packages\djan
odule>
    from django.core import management
ImportError: No module named django.core

C:\xampp\htdocs\djangodir\directorio>djang
Traceback (most recent call last):
  File "C:\Python27\Lib\site-packages\djan
odule>
    from django.core import management
ImportError: No module named django.core

我需要做什么才能为我的应用创建目录“locale \ pt \ _LC_MESSAGES”以及* .po和* .mo文件?

我在Windows上开发的另一个问题。我必须安装gettext吗?

给我一​​些线索,我有点迷失。

最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

您需要安装gettext。 超出the docs

只有想要提取消息ID或编译消息文件(.po)的人才需要这样做。翻译工作本身只涉及编辑此类型的现有文件,但如果您要创建自己的消息文件,或者想要测试或编译已更改的消息文件,则需要gettext实用程序:

从GNOME服务器http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/或其中一个镜像

下载以下zip文件

gettext-runtime-X.zip gettext-tools-X.zip X是版本号,我们要求0.15或更高。

将两个文件中bin \目录的内容解压缩到系统上的同一文件夹(即C:\ Program Files \ gettext-utils)

更新系统路径:

控制面板>系统>高级>环境变量。 在“系统变量”列表中,单击“路径”,单击“编辑” 在变量值字段的末尾添加; C:\ Program Files \ gettext-utils \ bin。 您也可以使用在其他地方获得的gettext二进制文件,只要xgettext --version命令正常工作即可。如果在Windows命令提示符下输入的命令xgettext --version导致弹出窗口显示“xgettext.exe已生成错误并将被Windows关闭”,请不要尝试将Django转换实用程序与gettext包一起使用。