标签: django-i18n

31
推荐指数
3
解决办法
3万
查看次数

如何以正确的方式设置Django翻译?

我有一个翻译不能在Django 1.6上工作的问题!我已经添加到我的settings.py中

LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s
LANGUAGES = (
    ('en', ugettext('English')),
    ('de', ugettext('German')),
)
Run Code Online (Sandbox Code Playgroud)

还添加了中间件:

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',
)
Run Code Online (Sandbox Code Playgroud)

以及我的*.py文件,每当我使用一个字符串,它应该是l10nd:

from django.utils.translation import ugettext_lazy as _
Run Code Online (Sandbox Code Playgroud)

我的模板以

{% extends "base.html" %}
{% load i18n %}
Run Code Online (Sandbox Code Playgroud)

并且在模板内部比我使用trans占位符.例如

<h1>{% trans "Register a tank" %}</h1>
Run Code Online (Sandbox Code Playgroud)

事实上,字符串出现在locale/de/LC_MESSAGES/django.po中,当我运行时我已经翻译了它们.例如

msgid "Register a tank"
msgstr "Einen neuen Tank anmelden"
Run Code Online (Sandbox Code Playgroud)

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

我错过了什么?

PS我目前正在模糊的项目是在github上托管的:https://github.com/frlan/blankspot

python django django-i18n

27
推荐指数
1
解决办法
2万
查看次数

AppRegistryNotReady:无法初始化转换基础结构

当我尝试访问我的应用程序时,我收到以下错误.

AppRegistryNotReady:在应用注册表准备就绪之前,无法初始化转换基础结构.检查您是否在导入时不进行非延迟的gettext调用

这是我的wsgi.py文件:

"""                                                                                                                                                                                     
WSGI config for Projectizer project.                                                                                                                                                    

It exposes the WSGI callable as a module-level variable named ``application``.                                                                                                          

For more information on this file, see                                                                                                                                                  
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/                                                                                                                            
"""

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Projectizer.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪.

mod_wsgi (pid=28928): Exception occurred processing WSGI script '/var/www/projectizer/apache/django.wsgi'.

Traceback (most recent call last):

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 187, in __call__

    response = self.get_response(request)

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 199, in get_response

    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 236, in handle_uncaught_exception …
Run Code Online (Sandbox Code Playgroud)

python django django-i18n

19
推荐指数
4
解决办法
1万
查看次数

django页面中的'模糊'翻译?

我做了一些研究,发现当字符串被标记为"模糊"时,django翻译不会出现.

但是,我无法找到有关是否可以覆盖此行为的任何文档.

是否有Django设置可用于允许Django (或gettext)使用"模糊翻译"?


我知道很多自动翻译并不完美,但这是用于开源产品的演示,开发和测试.

我宁愿用户能够使用他们自己的语言开发"近似"翻译,然后将其用作激励,以便随时检查它们.

python django gettext django-i18n

17
推荐指数
1
解决办法
2599
查看次数

如何在Windows 7上安装GNU gettext?

我需要安装0.15或更高版本的GNU的gettext,以便我可以使用django的一些i18n feateres.

我已下载:

http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.3.1.tar.gz

来自https://www.gnu.org/software/gettext/

但是我不知道如何安装它,他们的网站上没有安装指南.我该如何安装?

windows gnu gettext django-i18n

16
推荐指数
3
解决办法
2万
查看次数

在blocktrans模板标记内未呈现的上下文值/变量

我有一个上下文处理器,它将对象(即site)添加到模板上下文中,但该值不会在{% blocktrans %}模板标记内呈现.在模板标签之外,值打印就好了.

<h1>{% trans "About" %} {{ site.domain }}</h1> <!-- works -->

{% blocktrans %}
   {{ site.domain }} <!-- doesn't work -->
{% endblocktrans %}
Run Code Online (Sandbox Code Playgroud)

如何让对象的属性/变量在里面渲染{% blocktrans %}

django-templates django-i18n

13
推荐指数
1
解决办法
3527
查看次数

如何在Django中维护同一语言的不同国家/地区版本?

我想有几个不同的版本在Django相同的语言,定制不同的国家(例如locale/en,locale/en_CA,locale/en_US等).如果没有特定国家/地区的语言,我希望使用默认语言版本(locale/en)).

然后在设置文件为每个站点我指定LANGUAGE_CODELANGUAGES.

出于某种原因,即使我指定以下设置,locale/en_US仍然使用翻译:

LANGUAGE_CODE = 'en'
LANGUAGES = (
    ('en', ugettext('English')),
)
Run Code Online (Sandbox Code Playgroud)

虽然我明确指出语言代码应该是en(不是en-us).

我错过了什么吗?已经尝试在多个地方找到答案,包括Django文档.

python django internationalization django-i18n

13
推荐指数
1
解决办法
517
查看次数

一些字符串未在django i18n模块中翻译

我对django的国际化模块有一些奇怪的麻烦.大多数字符串都是必须翻译的,而其他字符串则不是.让我告诉你和例子:

<li>{% trans "Upload Score" %}</li>
<li>{% trans "Profile" %}</li>
<li>{% trans "Invite friends" %}</li>
<li>{% trans "Settings" %}</li>
Run Code Online (Sandbox Code Playgroud)

我有一个菜单列表4项.我运行django命令makemessages用法语翻译网站,我得到了所有的预期:

#: templates/main.html:190 templates/main.html.py:195
#, fuzzy
msgid "Upload Score"
msgstr "Publier"

#: templates/main.html:191 templates/main.html.py:196
msgid "Profile"
msgstr "Profil"

#: templates/main.html:192 templates/main.html.py:197
#, fuzzy
msgid "Invite Friends"
msgstr "inviter vos amis"

#: templates/main.html:193 templates/main.html.py:198
msgid "Settings"
msgstr "Préférences"
Run Code Online (Sandbox Code Playgroud)

但是当我编译它时,将django-admin compilemessages,只翻译"Profile"和"Settings".你知道它可能来自哪里吗?它可以与白色空间的使用联系起来吗?i18n模块中是否有调试模式?

谢谢你的帮助!:)

编辑:我们在django 1.4.

python django django-i18n

12
推荐指数
1
解决办法
1475
查看次数

如何在Django中指定翻译的上下文{%trans%} {%blocktrans%}?

Django的文档trans和blocktrans模板标签也支持Contextual标记.但它没有解释如何做到这一点?

你有没有帮助标记翻译背景,因为我有一些含义很多的单词.

在Python中,我可以这样做:

pgettext("month name", "May")
pgettext("verb", "May")
Run Code Online (Sandbox Code Playgroud)

如何在Django模板中指定翻译上下文?

{% blocktrans %}May{% endblocktrans %}
Run Code Online (Sandbox Code Playgroud)

django django-templates internationalization django-i18n

12
推荐指数
1
解决办法
6932
查看次数

Django i18n blocktrans vs trans

在Django模板中,这两者之间究竟有什么区别:

{% blocktrans %}My Text{% endblocktrans %}

{% trans 'My Text' %}
Run Code Online (Sandbox Code Playgroud)

django internationalization django-i18n

11
推荐指数
1
解决办法
6110
查看次数