相关疑难解决方法(0)

国际化Django(在OSX上)

我正试图让我的OSX Leopard上的Django工作

django_manage.py makemessages -l nl
Importing Django settings module settings
processing language nl
Error: errors happened while running xgettext on __init__.py
/bin/sh: xgettext: command not found
Run Code Online (Sandbox Code Playgroud)

在终端我得到相同的错误,除非我把它放在我的bash配置文件中:

PATH=$PATH:/Applications/Poedit.app/Contents/MacOS/
Run Code Online (Sandbox Code Playgroud)

但后来我得到了这个错误:

Error: errors happened while running msguniq
/bin/sh: msguniq: command not found os x 
Run Code Online (Sandbox Code Playgroud)

python unix django gettext internationalization

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

找不到msguniq.确保安装了GNU gettext工具0.15或更新版本.(Django 1.8和OSX ElCapitan)

我正在尝试通过遵循精彩的Django文档来国际化Django应用程序.问题是当我尝试运行命令来创建语言文件时:

python manage.py makemessages -l fr
Run Code Online (Sandbox Code Playgroud)

它输出一个错误:

CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.
Run Code Online (Sandbox Code Playgroud)

我的配置:

  • 操作系统:OSX El Capitan v10.11.3
  • Python:v3.5
  • Django:v1.8

python django macos gettext osx-elcapitan

18
推荐指数
4
解决办法
9803
查看次数

尝试从Django模板更改语言的问题

我需要包含两个按钮或链接,以允许用户更改英语和西班牙语之间的语言.我已经阅读了文档并尝试了这个:

<form action="/i18n/setlang/" method="post">{% csrf_token %}
    <input name="language" type="hidden" value="es" />
    <input type="submit" value="ES" />
</form>
Run Code Online (Sandbox Code Playgroud)

但是,每次单击该按钮时,页面都会重新加载,但语言根本不会更改.我错过了什么吗?

注意:我没有设置next,因为我只想用所需语言重新加载当前页面.

如果我使用docs提供的默认表单,结果是相同的:页面重新加载但语言没有改变:

<form action="{% url 'set_language' %}" method="post">
    {% csrf_token %}
    <input name="next" type="hidden" value="{{ redirect_to }}" />
    <select name="language">
        {% get_language_info_list for LANGUAGES as languages %}
        {% for language in languages %}
            <option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
                {{ language.name_local }} ({{ language.code }})
            </option>
        {% endfor %}
    </select>
    <input type="submit" value="Go" …
Run Code Online (Sandbox Code Playgroud)

python django internationalization django-i18n

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