Django的i18n模块的扩展。
项目描述
django-i18next - Django的i18n模块的扩展。
先决条件
Django 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10
Python >= 2.6.8, >= 2.7, >= 3.4
路线图
请参阅待办事项以获取计划、待开发或待实施功能的完整列表。
安装
从PyPI安装最新稳定版本
pip install django-i18next
或从GitHub安装最新稳定版本
pip install -e git+https://github.com/barseghyanartur/django-i18next@stable#egg=django-i18next
或从BitBucket安装最新稳定版本
pip install -e hg+https://bitbucket.org/barseghyanartur/django-i18next@stable#egg=django-i18next
将
添加到您项目的Django设置中的INSTALLED_APPS。
INSTALLED_APPS = (
# ...
'i18next',
# Other project specific apps
'foo', # Test app
# ...
)
用法
覆盖区域设置
无论您的当前区域设置如何,您都可以使用overridelocale模板标签覆盖模板的某个部分。
加载templatetags。
{% load i18n i18next %}
以下代码强制使用荷兰区域设置,无论放在overridelocale块中什么内容。
{% overridelocale 'nl' %}
<p>
<a href="/login/">{% trans "Log in" %}</a>
</p>
{% endoverridelocale %}
以下代码强制将overridelocale块内的内容设置为俄语文本。
{% overridelocale 'ru' %}
<p>
<a href="/login/">{% trans "Log in" %}</a>
</p>
{% endoverridelocale %}
以下代码强制将overridelocale块内的内容设置为英文文本。
{% overridelocale 'en' %}
<p>
<a href="/login/">{% trans "Log in" %}</a>
</p>
{% endoverridelocale %}
禁用翻译
无论当前区域设置如何,您都可以使用disabletranslations模板标签来禁用模板中特定部分的翻译。
{% load i18n i18next %}
{% disabletranslations %}
<p>
<a href="/login/">{% trans "Log in" %}</a>
</p>
{% enddisabletranslations %}
演示
实时演示
请查看Heroku上的实时演示应用程序。
本地运行演示
为了能够快速评估django-i18next,已经创建了一个演示应用程序(附带快速安装程序)(在Ubuntu/Debian上运行,也可能在其他Linux系统上运行,但无法保证)。按照以下说明,在不到一分钟的时间内运行演示。
获取最新的django_i18next_example_app_installer.sh文件
wget https://raw.github.com/barseghyanartur/django-i18next/stable/examples/django_i18next_example_app_installer.sh
将执行权限分配给安装程序并运行django_i18next_example_app_installer.sh
chmod +x django_i18next_example_app_installer.sh
./django_i18next_example_app_installer.sh
打开您的浏览器并测试应用程序。
如果快速安装程序对您不起作用,请参阅示例项目中的手动步骤。
调试
默认情况下,调试是关闭的。为了开启调试,请将项目settings.py中的I18NEXT_DEBUG设置为True。
许可证
GPL 2.0/LGPL 2.1
支持
有关任何问题,请联系作者部分中提供的电子邮件。