翻譯的模板是 使用Django的模版來配合字符串翻譯工作
日期:2023-03-11 12:39:36 / 人氣: 464 / 發(fā)布者:成都翻譯公司
這篇文章主要介紹了使用Django的模版來配合字符串翻譯工作,Django是*具人氣的Python開發(fā)框架,需要的朋友可以參考下Django模板使用兩種模板標(biāo)簽,且語法格式與Python代碼有些許不同。的字符串中,混進(jìn)一個(gè)模板變量是不可能的。以上就是使用Django的模版來配合字符串翻譯工作的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注html中文網(wǎng)其它相關(guān)文章!本文主要介紹使用Django的模板配合字符串翻譯。Django 是*流行的 Python 開發(fā)框架。有需要的朋友可以參考
Django 模板使用兩個(gè)模板標(biāo)簽,語法格式與 Python 代碼略有不同。為了讓模板訪問標(biāo)簽,{% load i18n %} 需要放置在模板的頂部。
這個(gè) {% trans %} 模板標(biāo)簽翻譯一個(gè)常量字符串(用單引號(hào)或雙引號(hào)括起來)或變量?jī)?nèi)容:
{% trans "This is the title." %} {% trans myvar %}
如果有 noop 選項(xiàng),變量查詢?nèi)匀挥行?,但將跳過翻譯。這在將來需要翻譯空白內(nèi)容時(shí)非常有用。
{% trans "myvar" noop %}
在帶有 {% trans %} 的字符串中,不可能混入模板變量。如果您的翻譯需要帶有變量(占位符)的字符串翻譯的模板是,請(qǐng)使用 {% blocktrans %}:
{% blocktrans %}This string will have {{ value }} inside.{% endblocktrans %}
要使用模板過濾器翻譯模板表達(dá)式,您需要將表達(dá)式綁定到翻譯文本中的局部變量:
{% blocktrans with value|filter as myvar %} This will have {{ myvar }} inside. {% endblocktrans %}
如果需要在blocktrans標(biāo)簽內(nèi)綁定多個(gè)表達(dá)式翻譯的模板是,可以使用和來分隔:
{% blocktrans with book|title as book_t and author|title as author_t %} This is {{ book_t }} by {{ author_t }} {% endblocktrans %}
為了表達(dá)單復(fù)數(shù)相關(guān)內(nèi)容,需要在{% blocktrans %}和{% endblocktrans %}之間使用{%復(fù)數(shù)%}標(biāo)簽來指定單復(fù)數(shù)形式,例如:
{% blocktrans count list|length as counter %} There is only one {{ name }} object. {% plural %} There are {{ counter }} {{ name }} objects. {% endblocktrans %}
內(nèi)部機(jī)制是所有塊和內(nèi)聯(lián)翻譯調(diào)用相應(yīng)的gettext 或ngettext。
每個(gè) RequestContext 可以訪問三個(gè)指定的翻譯變量:
{{ LANGUAGES }} 是元組列表。每個(gè)元組的第一個(gè)元素是語言代碼,第二個(gè)元素是語言中的語言名稱。LANGUAGE_CODE 作為一兩個(gè)字符串,是當(dāng)前用戶的首選語言。例如:en-us。(請(qǐng)參閱下面的 Django 如何發(fā)現(xiàn)語言首選項(xiàng)) LANGUAGE_BIDI 是當(dāng)前區(qū)域的描述。如果為真(True),則是從右到左書寫的語言,例如:希伯來語、阿拉伯語。如果為False,則是從左到右書寫的語言,如:英語、法語、德語等。
如果您不使用此 RequestContext 擴(kuò)展,則可以對(duì)這些值使用 3 個(gè)標(biāo)簽:
{% get_current_language as LANGUAGE_CODE %} {% get_available_languages as LANGUAGES %} {% get_current_language_bidi as LANGUAGE_BIDI %}
這些標(biāo)簽還需要 {% load i18n %}。
任何接受常量字符串的模板塊標(biāo)記中也可以使用翻譯鉤子。這時(shí)候用_()表達(dá)式來指定翻譯字符串,例如:
{% some_special_tag _("Page not found") value|yesno:_("yes,no") %}
在這種情況下,標(biāo)簽和過濾器都會(huì)看到翻譯后的字符串,因此它們不需要注意翻譯操作。
評(píng)論:
在此示例中,翻譯結(jié)構(gòu)將省略字符串“yes,no”,而不是單獨(dú)的字符串“yes”和“no”。翻譯后的字符串需要包含一個(gè)逗號(hào),以便過濾器解析代碼了解如何拆分參數(shù)。例如,德語翻譯人員可能會(huì)將字符串“yes,no”翻譯為“ja,nein”(保留逗號(hào)不變)。
以上就是使用Django模板配合字符串翻譯工作的詳細(xì)內(nèi)容。更多內(nèi)容請(qǐng)關(guān)注html中文網(wǎng)其他相關(guān)文章!
- 上一條雙學(xué)位翻譯模板 浙商大教〔2009〕218號(hào) 浙江工商大學(xué)關(guān)于修訂 雙專業(yè)、雙學(xué)位實(shí)施方案
- 下一條電開信用證翻譯模板 外貿(mào)企業(yè)操作SWIFT信用證策略
相關(guān)閱讀Relate
熱門文章 Recent
- 國外本科畢業(yè)證書翻譯模板 Graduation certificate 本科畢業(yè)證書2023-03-11
- 英語推薦信模板含翻譯 2020考研英語小作文模板——感謝信2023-03-11
- 商品房購銷合同翻譯模板 商品房買賣合同翻譯模板2023-03-11
- 廣東省簽證房產(chǎn)證翻譯模板 英國簽證房產(chǎn)證翻譯模板甄選2023-03-11
- 銀行存款證明翻譯件模板-出生證明翻譯件模板2023-03-11
- 成都體育學(xué)院學(xué)位證書翻譯模板 2019年4月四川成都體育學(xué)院招聘39人公告進(jìn)入閱讀模式2023-03-11
- 求職信模板翻譯 英文求職信模板帶翻譯.doc2023-03-11
- 責(zé)任條款翻譯模板簽證 常見的合同翻譯容易出錯(cuò)的地方你注意了嘛?2023-03-11
- 日語自我介紹模板帶翻譯 自我介紹日語滬江2023-03-11
- 翻譯軟件模板 這5款翻譯神器,讓你讀文獻(xiàn)的效率翻一倍2023-03-11