翻譯的模板是 使用Django的模版來配合字符串翻譯工作
日期:2023-03-11 12:39:36 / 人氣: 456 / 發(fā)布者:成都翻譯公司
這篇文章主要介紹了使用Django的模版來配合字符串翻譯工作,Django是*具人氣的Python開發(fā)框架,需要的朋友可以參考下Django模板使用兩種模板標簽,且語法格式與Python代碼有些許不同。的字符串中,混進一個模板變量是不可能的。以上就是使用Django的模版來配合字符串翻譯工作的詳細內(nèi)容,更多請關(guān)注html中文網(wǎng)其它相關(guān)文章!本文主要介紹使用Django的模板配合字符串翻譯。Django 是*流行的 Python 開發(fā)框架。有需要的朋友可以參考
Django 模板使用兩個模板標簽,語法格式與 Python 代碼略有不同。為了讓模板訪問標簽,{% load i18n %} 需要放置在模板的頂部。
這個 {% trans %} 模板標簽翻譯一個常量字符串(用單引號或雙引號括起來)或變量內(nèi)容:
{% trans "This is the title." %} {% trans myvar %}
如果有 noop 選項,變量查詢?nèi)匀挥行?,但將跳過翻譯。這在將來需要翻譯空白內(nèi)容時非常有用。
{% 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標簽內(nèi)綁定多個表達式翻譯的模板是,可以使用和來分隔:
{% blocktrans with book|title as book_t and author|title as author_t %} This is {{ book_t }} by {{ author_t }} {% endblocktrans %}
為了表達單復(fù)數(shù)相關(guān)內(nèi)容,需要在{% blocktrans %}和{% endblocktrans %}之間使用{%復(fù)數(shù)%}標簽來指定單復(fù)數(shù)形式,例如:
{% blocktrans count list|length as counter %} There is only one {{ name }} object. {% plural %} There are {{ counter }} {{ name }} objects. {% endblocktrans %}
內(nèi)部機制是所有塊和內(nèi)聯(lián)翻譯調(diào)用相應(yīng)的gettext 或ngettext。
每個 RequestContext 可以訪問三個指定的翻譯變量:
{{ LANGUAGES }} 是元組列表。每個元組的第一個元素是語言代碼,第二個元素是語言中的語言名稱。LANGUAGE_CODE 作為一兩個字符串,是當(dāng)前用戶的首選語言。例如:en-us。(請參閱下面的 Django 如何發(fā)現(xiàn)語言首選項) LANGUAGE_BIDI 是當(dāng)前區(qū)域的描述。如果為真(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") %}
在這種情況下,標簽和過濾器都會看到翻譯后的字符串,因此它們不需要注意翻譯操作。
評論:
在此示例中,翻譯結(jié)構(gòu)將省略字符串“yes,no”,而不是單獨的字符串“yes”和“no”。翻譯后的字符串需要包含一個逗號,以便過濾器解析代碼了解如何拆分參數(shù)。例如,德語翻譯人員可能會將字符串“yes,no”翻譯為“ja,nein”(保留逗號不變)。
以上就是使用Django模板配合字符串翻譯工作的詳細內(nèi)容。更多內(nèi)容請關(guān)注html中文網(wǎng)其他相關(guān)文章!
- 上一條雙學(xué)位翻譯模板 浙商大教〔2009〕218號 浙江工商大學(xué)關(guān)于修訂 雙專業(yè)、雙學(xué)位實施方案
- 下一條電開信用證翻譯模板 外貿(mào)企業(yè)操作SWIFT信用證策略
相關(guān)閱讀Relate
熱門文章 Recent
- 4級翻譯萬能模板 英語四級圖表作文萬能模板2023-03-11
- 專利翻譯模板 藥物專利英譯中的幾個翻譯示例2023-03-11
- 上海市公安局戶籍證明翻譯模板 足不出戶就能辦戶籍證明,上海民警手把手教市民如何辦理2023-03-11
- 申根簽證結(jié)婚證翻譯模板 辦理申根簽證所需材料和一些小tips2023-03-11
- 外文翻譯文獻模板 翻譯模板 修改2023-03-11
- 翻譯評鑒模板 翻譯學(xué)專業(yè)自我簡介自我鑒定個人簡歷2023-03-11
- 英國簽證存款證明材料翻譯模板 回饋窮游,白本護照,2010年2月英國訪友簽證順利簽出(附模板在回復(fù)中))2023-03-11
- 中考成績單翻譯模板 成績單英文版怎么弄?2023-03-11
- 駕照翻譯件模板圖片2023-03-11
- 西班牙簽證住所證明附模板翻譯 戶口本翻譯件去那里弄?2023-03-11