Django 中的本地化是如何工作的?

问题描述 投票:0回答:2

我已经阅读了一些主题 http://docs.djangoproject.com/en/1.3/topics/i18n/localization/

但不明白我需要做什么。

首先我打算做什么...

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

我的模型.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 和 *.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吗?

给我一些线索,我有点迷路了。

致以诚挚的问候,

django internationalization
2个回答
0
投票

您需要安装gettext。 出文档

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

从 GNOME 服务器 http://ftp.gnome.org/pub/gnome/binaries/win32/dependency/ 或其镜像之一下载以下 zip 文件

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

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

更新系统路径:

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


0
投票

首先,你必须安装gettext。 pip 安装 python-gettext

其次,你需要阅读模型翻译文档。您可能会找到以下链接 [https://django-modeltranslation.readthedocs.io/en/latest/][1]

© www.soinside.com 2019 - 2024. All rights reserved.