设置Django翻译的正确方法是什么?

法国

我在Django 1.6上无法正常翻译的问题。我已将此添加到我的settings.py中:

LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s
LANGUAGES = (
    ('en', ugettext('English')),
    ('de', ugettext('German')),
)

还添加了中间件:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

以及每当我使用应为l10nd的字符串时的* .py文件:

from django.utils.translation import ugettext_lazy as _

我的模板开始于:

{% extends "base.html" %}
{% load i18n %}

在模板内部,我使用了trans占位符。例如

<h1>{% trans "Register a tank" %}</h1>

我在locale / de / LC_MESSAGES / django.po中提供了翻译:

msgid "Register a tank"
msgstr "Einen neuen Tank anmelden"

我的浏览器设置为首先请求德语内容:浏览器设置

我错过了什么?

PS:我目前不了解的项目托管在GitHub:https//github.com/frlan/blankspot

奥米德·钱

添加LOCALE_PATHSsettings.py并将其设置如下:

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

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)

请注意,它LOCALE_PATHS必须是一个元组(请查看路径末尾的逗号)。

现在基于LOCALE_PATHS,该locale文件夹应位于项目的根目录中。

而且可以肯定的是你运行的命令django-admin.py makemessages -l de,并django-admin.py compilemessages从项目的根。

djPrj
  |
  +---> djPrj
  |
  +---> djApp
  |
  +---> locale
  |
  +---> templates

还重新安排你的MIDDLEWARE_CLASSESLocaleMiddlewareSessionMiddleware和之前CommonMiddleware提到这里

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

重新启动服务(python manage.py runserver),然后再次检查。


只是为了确保将本地化应用到具有Django默认django.mo文件的Django管理页面,请执行以下测试:

首先将主要urls.py项目替换patternsi18n_patterns

from django.conf.urls.i18n import i18n_patterns

urlpatterns = i18n_patterns('',
    url(r'^admin/', include(admin.site.urls)),
    # ...
)

现在转到带有de前缀的管理页面,例如:http://127.0.0.1:8000/de/admin/并且该管理页面应以德语显示。

好的,您能够以德语查看Django的管理页面吗?

还要检查您的视图与de前缀。


根据您的项目代码,有些句子不是成trans块的。将它们作为:

{% trans "your sentence" %}

此外,您还必须在代码中使用ugettext_lazy代替ugettext视图和模型(在此处此处阅读)。

替换为:

from django.utils.translation import ugettext as _ 

与:

from django.utils.translation import ugettext_lazy as _

现在一切正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django时区设置的正确方法是什么

来自分类Dev

在Django中将本地设置用于celerybeat的正确方法是什么?

来自分类Dev

django翻译文件的正确位置是什么?

来自分类Dev

django-dbbackup的正确设置是什么?

来自分类Dev

重写Django视图的正确方法是什么

来自分类Dev

用Docker Compose设置Django / PostgreSQL项目的正确方法是什么?

来自分类Dev

用Docker Compose设置Django / PostgreSQL项目的正确方法是什么?

来自分类Dev

在PHP中设置正确路径的正确方法是什么?

来自分类Dev

正确的方法是什么?

来自分类Dev

在CakePHP 2.6中设置页面标题的正确方法是什么?

来自分类Dev

在Laravel 5中设置ENV变量的正确方法是什么?

来自分类Dev

在WPF中创建UI设置的正确方法是什么?

来自分类Dev

备份Outlook 2010设置和缓存的正确方法是什么?

来自分类Dev

使用函数调用设置实例变量的正确方法是什么?

来自分类Dev

在CakePHP 2.6中设置页面标题的正确方法是什么?

来自分类Dev

在php中设置会话的正确方法是什么?

来自分类Dev

在Laravel中设置页面元标题的正确方法是什么

来自分类Dev

设置 Node.js 和 MySQL 的正确方法是什么?

来自分类Dev

设置不涉及request.POST.getlist的Django管理员中间页的_selected_action的正确方法是什么?

来自分类Dev

在Django中构造成员资格的正确方法是什么?

来自分类Dev

在Django中链接应用的正确方法是什么?

来自分类Dev

在python / django中异步发送邮件的正确方法是什么?

来自分类Dev

在Mac上安装Django的正确方法是什么

来自分类Dev

使用Django REST框架的“正确”方法是什么?

来自分类Dev

PrestaShop类替代中新翻译的正确域是什么?

来自分类Dev

在Django中访问设置信息的首选方法是什么?

来自分类Dev

dconf中a(ss)类型的含义是什么,获取/设置此类字段的gi.repository.Gio.Settings的正确方法是什么?

来自分类Dev

设置HBase,Hadoop,Hive通过Hive访问Hbase的正确方法是什么?

来自分类Dev

为dev / staging / production设置不同的<base>的正确方法是什么

Related 相关文章

  1. 1

    Django时区设置的正确方法是什么

  2. 2

    在Django中将本地设置用于celerybeat的正确方法是什么?

  3. 3

    django翻译文件的正确位置是什么?

  4. 4

    django-dbbackup的正确设置是什么?

  5. 5

    重写Django视图的正确方法是什么

  6. 6

    用Docker Compose设置Django / PostgreSQL项目的正确方法是什么?

  7. 7

    用Docker Compose设置Django / PostgreSQL项目的正确方法是什么?

  8. 8

    在PHP中设置正确路径的正确方法是什么?

  9. 9

    正确的方法是什么?

  10. 10

    在CakePHP 2.6中设置页面标题的正确方法是什么?

  11. 11

    在Laravel 5中设置ENV变量的正确方法是什么?

  12. 12

    在WPF中创建UI设置的正确方法是什么?

  13. 13

    备份Outlook 2010设置和缓存的正确方法是什么?

  14. 14

    使用函数调用设置实例变量的正确方法是什么?

  15. 15

    在CakePHP 2.6中设置页面标题的正确方法是什么?

  16. 16

    在php中设置会话的正确方法是什么?

  17. 17

    在Laravel中设置页面元标题的正确方法是什么

  18. 18

    设置 Node.js 和 MySQL 的正确方法是什么?

  19. 19

    设置不涉及request.POST.getlist的Django管理员中间页的_selected_action的正确方法是什么?

  20. 20

    在Django中构造成员资格的正确方法是什么?

  21. 21

    在Django中链接应用的正确方法是什么?

  22. 22

    在python / django中异步发送邮件的正确方法是什么?

  23. 23

    在Mac上安装Django的正确方法是什么

  24. 24

    使用Django REST框架的“正确”方法是什么?

  25. 25

    PrestaShop类替代中新翻译的正确域是什么?

  26. 26

    在Django中访问设置信息的首选方法是什么?

  27. 27

    dconf中a(ss)类型的含义是什么,获取/设置此类字段的gi.repository.Gio.Settings的正确方法是什么?

  28. 28

    设置HBase,Hadoop,Hive通过Hive访问Hbase的正确方法是什么?

  29. 29

    为dev / staging / production设置不同的<base>的正确方法是什么

热门标签

归档