时间:2021-05-22
Django模板使用两种模板标签,且语法格式与Python代码有些许不同。 为了使得模板访问到标签,需要将 {% load i18n %} 放在模板最前面。
这个{% trans %}模板标记翻译一个常量字符串 (括以单或双引号) 或 可变内容:
<title>{% trans "This is the title." %}</title><title>{% trans myvar %}</title>如果有noop 选项,变量查询还是有效但翻译会跳过。 当空缺内容要求将来再翻译时,这很有用。
<title>{% trans "myvar" noop %}</title>在一个带 {% trans %} 的字符串中,混进一个模板变量是不可能的。如果你的译文要求字符串带有变量(占位符placeholders),请使用 {% blocktrans %} :
{% blocktrans %}This string will have {{ value }} inside.{% endblocktrans %}使用模板过滤器来翻译一个模板表达式,需要在翻译的这段文本中将表达式绑定到一个本地变量中:
{% blocktrans with value|filter as myvar %}This will have {{ myvar }} inside.{% endblocktrans %}如果需要在 blocktrans 标签内绑定多个表达式,可以用 and 来分隔:
{% blocktrans with book|title as book_t and author|title as author_t %}This is {{ book_t }} by {{ author_t }}{% endblocktrans %}为了表示单复数相关的内容,需要在 {% blocktrans %} 和 {% endblocktrans %} 之间使用 {% plural %} 标签来指定单复数形式,例如:
{% blocktrans count list|length as counter %}There is only one {{ name }} object.{% plural %}There are {{ counter }} {{ name }} objects.{% endblocktrans %}其内在机制是,所有的块和内嵌翻译调用相应的 gettext 或 ngettext 。
每一个RequestContext可以访问三个指定翻译变量:
如果你不用这个RequestContext扩展,你可以用3个标记到那些值:
{% get_current_language as LANGUAGE_CODE %}{% get_available_languages as LANGUAGES %}{% get_current_language_bidi as LANGUAGE_BIDI %}这些标记亦要求一个 {% load i18n %} 。
翻译的hook在任何接受常量字符串的模板块标签内也是可以使用的。 此时,使用 _() 表达式来指定翻译字符串,例如:
{% some_special_tag _("Page not found") value|yesno:_("yes,no") %}在这种情况下,标记和过滤器两个都会看到已经翻译的字符串,所有它们并不需要提防翻译操作。
备注:
在这个例子中,翻译结构将放过字符串"yes,no",而不是单独的字符串"yes"和"no"。翻译的字符串将需要包括逗号以便过滤器解析代码明白如何分割参数。 例如, 一个德语翻译器可能会翻译字符串 "yes,no" 为 "ja,nein" (保持逗号原封不动)。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近在项目中使用了ES6的模版字符串,在这里加以总结。1.之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的:$("#result").ap
oracle中lpad的用法pad翻译:填充lpad函数,在字符串的左侧添加指定字符串,用法:lpad(String,截取长度,添加的字符串)。说是添加字符串也
1.逆转字符串的三种方法1.1.模拟C++中方法,定义一个空字符串来实现通过设置一个空字符串,然后讲参数中的字符串从后往前遍历,使用字符串的加法合并为新的字符串
在C中,并没有字符串这个数据类型,而是使用字符数组来保存字符串。C字符串实际上就是一个以null('\0')字符结尾的字符数组,null字符表示字符串的结束。需
使用函数ugettext()来指定一个翻译字符串。作为惯例,使用短别名_来引入这个函数以节省键入时间.在下面这个例子中,文本"Welcometomysite"被