我正在看别人的Django注册模板,我看到{% load i18n %}每个文件中的行.什么是i18n?
我知道它与国际和本地化有关,但是有人可以解释它并给出一个详细的例子吗?谢谢.
Mar*_*tis 25
它加载翻译标签,例如{% trans "Text" %}可以在模板中使用的标签.如果您不使用它,您可以删除{% load i18n %}
当您trans对模板./manage.py makemessages中非动态的所有文本使用标记时,您可以通过运行创建将用于转换的.po文件来收集所有此类字符串.
{% load i18n %}国际化需要.国际化的目的是允许单个应用程序以多种语言阅读.为了做到这一点:你需要一些称为翻译字符串的钩子.要让您的模板能够访问这些标记,请将其置于{% load i18n %}模板的顶部.
有关详细信息,请参阅此处:https://docs.djangoproject.com/en/1.10/topics/i18n/
小智 6
为了使 Django 项目可翻译,您必须向 Python 代码和模板添加最少量的钩子。这些钩子称为翻译字符串。他们告诉 Django: \xe2\x80\x9c 如果该文本的翻译可用,则该文本应该翻译成最终用户\xe2\x80\x99s 语言。\xe2\x80\x9d It\xe2\x80\ x99 是您标记可翻译字符串的责任;系统只能翻译它知道的字符串。
\n\nDjango\xe2\x80\x99s 国际化挂钩默认处于启用状态,这意味着在框架的某些位置存在一些与 i18n 相关的开销。如果您不\xe2\x80\x99t 使用国际化,则应该花两秒钟USE_I18N = False在设置文件中进行设置。然后Django会进行一些优化,以免加载国际化机制。[\'django.core.context_processors.i18n\']您\xe2\x80\x99 可能还想从TEMPLATE_CONTEXT_PROCESSORS设置中删除。
欲了解更多信息:https ://docs.djangoproject.com/en/dev/topics/i18n/translation/
\n| 归档时间: |
|
| 查看次数: |
11813 次 |
| 最近记录: |