翻译的模板是 使用Django的模版来配合字符串翻译工作

日期:2023-03-11 12:39:36 / 人气: 490 / 发布者:成都翻译公司

这篇文章主要介绍了使用Django的模版来配合字符串翻译工作,Django是*具人气的Python开发框架,需要的朋友可以参考下Django模板使用两种模板标签,且语法格式与Python代码有些许不同。的字符串中,混进一个模板变量是不可能的。以上就是使用Django的模版来配合字符串翻译工作的详细内容,更多请关注html中文网其它相关文章!

本文主要介绍使用Django的模板配合字符串翻译。Django 是*流行的 Python 开发框架。有需要的朋友可以参考

Django 模板使用两个模板标签,语法格式与 Python 代码略有不同。为了让模板访问标签,{% load i18n %} 需要放置在模板的顶部。

这个 {% trans %} 模板标签翻译一个常量字符串(用单引号或双引号括起来)或变量内容:

 {% trans "This is the title." %}{% trans myvar %}

如果有 noop 选项,变量查询仍然有效,但将跳过翻译。这在将来需要翻译空白内容时非常有用。

 {% trans "myvar" noop %}

在带有 {% trans %} 的字符串中,不可能混入模板变量。如果您的翻译需要带有变量(占位符)的字符串翻译的模板是,请使用 {% blocktrans %}:

 {% blocktrans %}This string will have {{ value }} inside.{% endblocktrans %} 

要使用模板过滤器翻译模板表达式,您需要将表达式绑定到翻译文本中的局部变量:

 {% blocktrans with value|filter as myvar %} This will have {{ myvar }} inside. {% endblocktrans %} 

如果需要在blocktrans标签内绑定多个表达式翻译的模板是,可以使用和来分隔:

 {% blocktrans with book|title as book_t and author|title as author_t %} This is {{ book_t }} by {{ author_t }} {% endblocktrans %} 

为了表达单复数相关内容,需要在{% blocktrans %}和{% endblocktrans %}之间使用{%复数%}标签来指定单复数形式,例如:

 {% blocktrans count list|length as counter %} There is only one {{ name }} object. {% plural %} There are {{ counter }} {{ name }} objects. {% endblocktrans %} 

内部机制是所有块和内联翻译调用相应的gettext 或ngettext。

每个 RequestContext 可以访问三个指定的翻译变量:

{{ LANGUAGES }} 是元组列表。每个元组的第一个元素是语言代码,第二个元素是语言中的语言名称。LANGUAGE_CODE 作为一两个字符串,是当前用户的首选语言。例如:en-us。(请参阅下面的 Django 如何发现语言首选项) LANGUAGE_BIDI 是当前区域的描述。如果为真(True),则是从右到左书写的语言,例如:希伯来语、阿拉伯语。如果为False,则是从左到右书写的语言,如:英语、法语、德语等。

如果您不使用此 RequestContext 扩展,则可以对这些值使用 3 个标签:

 {% get_current_language as LANGUAGE_CODE %} {% get_available_languages as LANGUAGES %} {% get_current_language_bidi as LANGUAGE_BIDI %} 

这些标签还需要 {% load i18n %}。

任何接受常量字符串的模板块标记中也可以使用翻译钩子。这时候用_()表达式来指定翻译字符串,例如:

 {% some_special_tag _("Page not found") value|yesno:_("yes,no") %} 

在这种情况下,标签和过滤器都会看到翻译后的字符串,因此它们不需要注意翻译操作。

评论:

在此示例中,翻译结构将省略字符串“yes,no”,而不是单独的字符串“yes”和“no”。翻译后的字符串需要包含一个逗号,以便过滤器解析代码了解如何拆分参数。例如,德语翻译人员可能会将字符串“yes,no”翻译为“ja,nein”(保留逗号不变)。

以上就是使用Django模板配合字符串翻译工作的详细内容。更多内容请关注html中文网其他相关文章!

相关阅读Relate

  • 法国签证营业执照翻译件模板 你与申根签证只有一条推送的距离
  • 江苏省增值税发票翻译模板 江苏税务局出口货物退(免)税申报管理系统软件
  • 肄业证书翻译模板 复旦大学学生学业证明文书管理细则(试行)
  • 四级英语作文模板带翻译 大学英语四级翻译模拟训练及答案
  • 社会某信用代码证翻译模板 js验证某社会信用代码,某社会信用代码 验证js,js+验证+社会信用代码证
  • 美国移民证件翻译模板 日语签证翻译聊聊身份证翻译模板
  • 翻译软件模板 人类史上*实用的的文档快速翻译指南
  • 江苏省增值税发票翻译模板 江苏出口货物退(免)税申报管理服务平台
  • 瑞士签证房产证翻译件模板 瑞士探亲签证—就读子女
  • 日语户口本翻译模板 户口本翻译价格_户口本翻译一般多少钱?
  • 翻译的模板是 使用Django的模版来配合字符串翻译工作 www.chinazxzy.com/fymb/7777.html
    
    本站部分内容和图片来源于网络用户和读者投稿,不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系:chinazxzy@163.com,及时删除。
    Go To Top 回顶部
    • 扫一扫,微信在线