问题标签 [django-i18n]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - django i18n:gettext 没有翻译一行
更新:
我用%
替换来解决它%
有没有人有更好的解决方案??
原始问题:
我用gettext翻译成中文,但是这行没有翻译。
仍然输出 Is it 100% free?
请有人指导我谢谢。
模板 :
django.po
python - 尽管定义了下一个参数,但 Django set_language 函数重定向到站点根目录
我正在使用django.views.i18n.set_language()
重定向视图和 HTML 表单,用户可以在其中选择语言。我正在按照Django documentation for i18n translation中的描述做所有事情。我所做的唯一区别是在 HTML 表单中,我将下一个参数的值从更改{{redirect_to}}
为{{request.get_full_path}}
无论如何,当我在本地测试它时,它工作得很好。我可以选择不同的语言,它会重新加载当前页面,但使用不同的语言。
现在我将应用程序放在 VPS 上,我使用 Gunicorn 作为应用程序服务器,使用 Nginx 作为 Web 服务器。现在,当我选择不同的语言时,它仍然会改变它,但它总是将我重定向到主页/(站点根目录)。
我不知道为什么现在会发生这种情况以及如何改变它。我希望他再次重新加载同一页面,而不是总是将我重定向到 /。无论如何,在翻译时仍然可以正常工作。
谢谢你的回复
亲切的问候
python - AppRegistryNotReady:翻译基础设施无法初始化
当我尝试访问我的应用程序时,我收到以下错误。
AppRegistryNotReady:在应用程序注册表准备好之前无法初始化翻译基础结构。检查您在导入时没有进行非惰性 gettext 调用
这是我的 wsgi.py 文件:
这是堆栈跟踪。
django - 在一个表单集中使用 django-hvad 管理多种语言
我正在使用 django-hvad 来编辑不同语言的对象。如文档中所述,我得到了一个表单(用于对象)和一个表单集(用于不同语言的对象属性)。表单集显示在每种语言的选项卡中,这些语言使用 django-crispy-forms 构建。
只要我不使用首字母,一切都很好。我的目标是预先选择语言并隐藏语言代码字段,以便您可以输入多种语言,但您不必:
表格.py:
在 django-hvad 的某个地方,首字母被再次设置或覆盖,因此表单被绑定。这会导致无效数据,因为未填充每种语言的内容字段。只要我按照 settings.LANGUAGES 中定义的顺序设置首字母,它就可以工作,但是如果您只填写第二个选项卡/语言,这可能会产生重复的语言:如果重新加载视图,两个第一个选项卡都填充有第二种语言. 第一个是因为表单集中的预填表单,第二个是因为初始。
视图.py:
Category-model 和 Category 表单非常标准,所以我不附加它们。我真的很好奇是否有人遇到过类似的问题,或者甚至可以为一个关键问题提供解决方案:如何在表单集中动态设置首字母?
干杯,马吕斯
django - 使用 i18n_patterns 时,如何在没有语言代码的情况下反转 url
我正在使用i18n_patterns
,但我想使用reverse
在 url 中创建没有语言的页面链接(这样用户将根据 cookie 和标题等重定向)。
我努力了
这适用于使用 获取其他语言版本activate(target_lang)
,但如果deactivate
我只获取默认语言的网址(/en/account/
但我想要/account/
)。
我已经认为获得替代语言版本过于复杂,但我根本无法管理。有什么提示吗?(无需手动LANGUAGE_CODE
从 url 中剥离)
更新:我也试过
但得到NoReverseMatch
django - 为 django 国际化翻译 url 正则表达式模式
我正在尝试建立一个多语言的 django 站点,我在我的设置文件中添加了我需要的语言,并在我的 django.po 文件中翻译了所有内容。我将语言环境中间件和语言块添加到我的网址中,当我浏览它们时它们会正确显示:
/es-mx/help --- 以西班牙语显示
/en-us/help --- 以英文显示
现在我想翻译网址,这是我的 urls.py:
我想要以下内容:
/es-mx/ayuda -- 以西班牙语显示
/en-us/help --- 以英文显示
但是我在访问西班牙语网址时只得到 404。我尝试在我的 django.po 文件中添加以下内容,但没有结果:
我错过了什么?
python - Django Switch language with i18n pattern and normal url_pattern
I've to do the switch language for an app who have some urls in i18n pattern like all the pages we want to translate with prefix in order to have good SEO, and other pages which we don't want to have the prefix in the url.
So I separated the 2 patterns, till this all is all right and when I'm doing the form to handle the switch language I'm facing only problems :
This is my form :
#xA;I validate via javascript. All is fine, I fill the language value and the form is well submit. My real problem is the next value, because I need a generic next value so I did a request.path with a filter like this one :
#xA;The goal of this filter is to watch if the url have a language prefix if yes, it remove it to have in the next value the only the url without prefix.
the output of this filter is like this : if we are at /fr/pages/default it will be /pages/default/
I click on the switch language but nothing work. It still the same language. So I removed a slash but then it's a 404 because it's not the right path...
What can I do to manage the 2 kind of urls that I've ?? One with URL prefix and one without...
The language is well activate in some of the situations.
Thank in advance!
routing - Django i18n 路由无法正常工作
我对 Django i18n 路由有疑问。我想在 URL 中设置语言但不起作用。我在项目中创建了 urls.py,并在应用程序中创建了另一个 urls.py。代码如下所示:
个人/urls.py
个性化的.py
当我访问 / 或 /cv 时返回 404 并显示:
如果我访问 /es/,/es/cv/ 或 /es/cv 会给出另一个 404 的结果:
最后我尝试反转 URL 并抛出异常:
谢谢!!
python - Django i18n 模式
我正在使用国际化。
所以,当我访问http://localhost:8000/en/
和http://localhost:8000/de/
但是当我访问http://localhost:8000/
它时,它会将我重定向到http://localhost:8000/en/
即使上次访问的页面是http://localhost:8000/de/
基本上,我想根据访问的页面保存语言代码,例如,如果我访问,http://localhost:8000/de/
则语言是德语。接下来,当我访问时http://localhost:8000
,它应该指向我http://localhost:8000/de/
,而不是默认http://localhost:8000/en/
如何做到这一点?
python - 从 Django 中的 3rd 方应用程序收集消息
如何从位于 virtualenv 目录中的 3rd 方库生成消息(manage.py makemessages)?
我尝试简单地将消息添加到 .po 文件中,但每次我运行 makemessages 命令时,我的翻译都会消失。
非常感谢