Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:Translation don';不再更新_Python_Html_Django_Django I18n_Web Project - Fatal编程技术网

Python Django:Translation don';不再更新

Python Django:Translation don';不再更新,python,html,django,django-i18n,web-project,Python,Html,Django,Django I18n,Web Project,我想把我的django项目从英语翻译成德语。它目前由两个应用程序组成。主应用程序已正确翻译。另一个应用程序在django.po文件中被完全翻译,但只会显示一些翻译后的字符串,而其他的仍然是英语 为了编译我的语言文件(当前两个应用程序各一个),我始终在项目的根目录中执行以下命令: django-admin makemessages -l de # Now doing some translations django-admin compilemessages 当我更改任何翻译字符串并执行make

我想把我的django项目从英语翻译成德语。它目前由两个应用程序组成。主应用程序已正确翻译。另一个应用程序在django.po文件中被完全翻译,但只会显示一些翻译后的字符串,而其他的仍然是英语

为了编译我的语言文件(当前两个应用程序各一个),我始终在项目的根目录中执行以下命令:

django-admin makemessages -l de
# Now doing some translations
django-admin compilemessages
当我更改任何翻译字符串并执行makemessage和compilemessage时,django仍将使用旧的翻译,而不是新的翻译。因此,它看起来像是在一段时间前起作用的,但现在编译/使用翻译时出现了一些问题

例如,在此模板中,“登录”和“注册”字符串被正确翻译,但“需要帐户?”字符串不是因为它是在翻译不再有效时添加的。但不幸的是,我不知道是什么改变了,为什么它不再起作用了

{% extends "mainapp/base.html" %}
{% load crispy_forms_tags %}
{% load i18n %}

{% block content %}
    <div class="content-section">
    <form method="POST"> {% csrf_token %}
        <fieldset class="form-group">
            <legend class="border-bottom mb-4">{% trans "Log in" %}</legend>
            {{ form|crispy }}
        </fieldset>
        <div class="form-group">
            <button class="btn btn-outline-info" type="submit">{% trans "Log in" %}</button>
        </div>
    </form>
    <div class="border-top pt-3">
        <small class="text-muted">{% trans "Need an account?" %}<a class="ml-2" href="{% url 'register' %}">{% trans "Sign up" %}</a></small>
    </div>
    </div>
{% endblock content%}
我还看了一下这个主题及其所有参考主题:

非常感谢你的帮助

顺便说一下,这是采购订单文件:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-20 09:17+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: .\login\templates\login\login.html:9 .\login\templates\login\login.html:13
#: .\login\templates\login\logout.html:7
msgid "Log in"
msgstr "Anmelden"

#: .\login\templates\login\login.html:17
msgid "Need an account?"
msgstr "Noch kein Account?"

#: .\login\templates\login\login.html:17
#: .\login\templates\login\register.html:13
msgid "Sign up"
msgstr "Registrieren"

#: .\login\templates\login\logout.html:5
msgid "You have been logged out!"
msgstr "Sie wurden abgemeldet"

#: .\login\templates\login\logout.html:7
msgid "Home"
msgstr "Start"

#: .\login\templates\login\profile.html:16
msgid "Profile Info"
msgstr "Profil Info"

#: .\login\templates\login\profile.html:21
msgid "Update"
msgstr "Aktualisieren"

#: .\login\templates\login\register.html:9
msgid "Join today"
msgstr "Heute beitreten"

#: .\login\templates\login\register.html:17
msgid "Already have an account?"
msgstr "Sie haben bereits einen Account?"

#: .\login\templates\login\register.html:17
msgid "Sign in"
msgstr "Anmelden"
#一些描述性的标题。
#版权(C)软件包版权所有者的年份
#此文件在与包相同的许可证下分发。
#第一作者,年。
#
msgid“”
msgstr“”
“项目Id版本:包版本\n”
“将Msgid错误报告给:\n”
“罐创建日期:2019-09-20 09:17+0200\n”
“采购订单修订日期:年月日:MI+区域\n”
“最后一个转换器:全名\n”
“语言团队:语言\n”
“MIME版本:1.0\n”
“内容类型:文本/普通;字符集=UTF-8\n”
“内容传输编码:8位\n”
#:。\login\templates\login\login.html:9。\login\templates\login\login.html:13
#:。\login\templates\login\logout.html:7
msgid“登录”
msgstr“安梅尔登”
#:。\login\templates\login\login.html:17
msgid“需要帐户吗?”
msgstr“Noch kein账户?”
#:。\login\templates\login\login.html:17
#:。\login\templates\login\register.html:13
msgid“注册”
msgstr“注册人”
#:。\login\templates\login\logout.html:5
msgid“您已注销!”
msgstr“我是伍尔登·阿布杰梅尔特”
#:。\login\templates\login\logout.html:7
msgid“家”
msgstr“启动”
#:。\login\templates\login\profile.html:16
msgid“配置文件信息”
msgstr“档案信息”
#:。\login\templates\login\profile.html:21
msgid“更新”
msgstr“Aktualisieren”
#:。\login\templates\login\register.html:9
msgid“今天加入”
msgstr“Heute beitreten”
#:。\login\templates\login\register.html:17
msgid“是否已拥有帐户?”
msgstr“您是否有自己的账户?”
#:。\login\templates\login\register.html:17
msgid“登录”
msgstr“安梅尔登”

几乎可以肯定问题出在
local/de/LC\u MESSAGES/django.po
中的
django.po
文件中


搜索未翻译的字符串,然后查看上面的文本。我记不清它到底是什么样子,但如果它周围有模糊的东西,那么这就是问题所在。只需删除此信息,然后
manage.py compilemessages
,它就会被翻译出来

谢谢您的回复。不幸的是,这不是错误。我已经删除了fuzzy,但它没有修复它。po文件如下所示:
。\login\templates\login\login.html:17 msgid“需要帐户吗?”msgstr“Noch kein帐户?”。\login\templates\login\login.html:17#::。\login\templates\login\register.html:13 msgid“注册”msgstr“注册人”;\login\templates\login\profile.html:16 msgid“档案信息”msgstr“档案信息”
我现在在问题描述中添加了整个.po文件。我的问题现在解决了。我想我无意中更改了.po文件中不应该更改的内容。我所做的是完全删除我的语言文件夹,并使用makemessages生成新的语言文件夹。
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-20 09:17+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: .\login\templates\login\login.html:9 .\login\templates\login\login.html:13
#: .\login\templates\login\logout.html:7
msgid "Log in"
msgstr "Anmelden"

#: .\login\templates\login\login.html:17
msgid "Need an account?"
msgstr "Noch kein Account?"

#: .\login\templates\login\login.html:17
#: .\login\templates\login\register.html:13
msgid "Sign up"
msgstr "Registrieren"

#: .\login\templates\login\logout.html:5
msgid "You have been logged out!"
msgstr "Sie wurden abgemeldet"

#: .\login\templates\login\logout.html:7
msgid "Home"
msgstr "Start"

#: .\login\templates\login\profile.html:16
msgid "Profile Info"
msgstr "Profil Info"

#: .\login\templates\login\profile.html:21
msgid "Update"
msgstr "Aktualisieren"

#: .\login\templates\login\register.html:9
msgid "Join today"
msgstr "Heute beitreten"

#: .\login\templates\login\register.html:17
msgid "Already have an account?"
msgstr "Sie haben bereits einen Account?"

#: .\login\templates\login\register.html:17
msgid "Sign in"
msgstr "Anmelden"