翻譯的模板是 使用Django的模版來配合字符串翻譯工作
日期:2023-03-11 12:39:36 / 人氣: 454 / 發(fā)布者:成都翻譯公司
這篇文章主要介紹了使用Django的模版來配合字符串翻譯工作,Django是*具人氣的Python開發(fā)框架,需要的朋友可以參考下Django模板使用兩種模板標(biāo)簽,且語法格式與Python代碼有些許不同。的字符串中,混進(jìn)一個模板變量是不可能的。以上就是使用Django的模版來配合字符串翻譯工作的詳細(xì)內(nèi)容,更多請關(guān)注html中文網(wǎng)其它相關(guān)文章!本文主要介紹使用Django的模板配合字符串翻譯。Django 是*流行的 Python 開發(fā)框架。有需要的朋友可以參考
Django 模板使用兩個模板標(biāo)簽,語法格式與 Python 代碼略有不同。為了讓模板訪問標(biāo)簽,{% load i18n %} 需要放置在模板的頂部。
這個 {% trans %} 模板標(biāo)簽翻譯一個常量字符串(用單引號或雙引號括起來)或變量內(nèi)容:
{% trans "This is the title." %} {% trans myvar %}
如果有 noop 選項(xiàng),變量查詢?nèi)匀挥行В珜⑻^翻譯。這在將來需要翻譯空白內(nèi)容時非常有用。
{% trans "myvar" noop %}
在帶有 {% trans %} 的字符串中,不可能混入模板變量。如果您的翻譯需要帶有變量(占位符)的字符串翻譯的模板是,請使用 {% 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)綁定多個表達(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。
每個 RequestContext 可以訪問三個指定的翻譯變量:
{{ LANGUAGES }} 是元組列表。每個元組的第一個元素是語言代碼,第二個元素是語言中的語言名稱。LANGUAGE_CODE 作為一兩個字符串,是當(dāng)前用戶的首選語言。例如:en-us。(請參閱下面的 Django 如何發(fā)現(xiàn)語言首選項(xiàng)) LANGUAGE_BIDI 是當(dāng)前區(qū)域的描述。如果為真(True),則是從右到左書寫的語言,例如:希伯來語、阿拉伯語。如果為False,則是從左到右書寫的語言,如:英語、法語、德語等。
如果您不使用此 RequestContext 擴(kuò)展,則可以對這些值使用 3 個標(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)記中也可以使用翻譯鉤子。這時候用_()表達(dá)式來指定翻譯字符串,例如:
{% some_special_tag _("Page not found") value|yesno:_("yes,no") %}
在這種情況下,標(biāo)簽和過濾器都會看到翻譯后的字符串,因此它們不需要注意翻譯操作。
評論:
在此示例中,翻譯結(jié)構(gòu)將省略字符串“yes,no”,而不是單獨(dú)的字符串“yes”和“no”。翻譯后的字符串需要包含一個逗號,以便過濾器解析代碼了解如何拆分參數(shù)。例如,德語翻譯人員可能會將字符串“yes,no”翻譯為“ja,nein”(保留逗號不變)。
以上就是使用Django模板配合字符串翻譯工作的詳細(xì)內(nèi)容。更多內(nèi)容請關(guān)注html中文網(wǎng)其他相關(guān)文章!
- 上一條雙學(xué)位翻譯模板 浙商大教〔2009〕218號 浙江工商大學(xué)關(guān)于修訂 雙專業(yè)、雙學(xué)位實(shí)施方案
- 下一條電開信用證翻譯模板 外貿(mào)企業(yè)操作SWIFT信用證策略
相關(guān)閱讀Relate
熱門文章 Recent
- 簽證用戶口本翻譯模板 建議看下|比較詳細(xì)的歐洲各國辦理簽證所需材料!2023-03-11
- 簽證戶口本德語翻譯模板 德國簽證翻譯-德國簽證資料翻譯2023-03-11
- 貴陽專業(yè)德語專利翻譯模板 德國汽車質(zhì)量管理手冊德語翻譯-說明書翻譯-上海翻譯公司2023-03-11
- 英國簽證存折翻譯模板 英國留學(xué)簽證申請材料清單2023-03-11
- 診斷證明書模板翻譯 北京翻譯蓋章 證件翻譯 營業(yè)執(zhí)照翻譯 證照翻譯2023-03-11
- 營業(yè)執(zhí)照翻譯模板商事主體 深圳市實(shí)現(xiàn)商事主體電子營業(yè)執(zhí)照和電子印章綜合應(yīng)用2023-03-11
- 商業(yè)銀行活期對賬單翻譯模板 科目匯總表模板??免費(fèi)版2023-03-11
- 人壽保險(xiǎn)單翻譯模板 找到你家不可或缺的四張保單模板.docx2023-03-11
- 泰語翻譯求職簡歷模板 2021英語翻譯簡歷模板2023-03-11
- 新南威爾士大學(xué)學(xué)位證書翻譯模板 #推薦咨詢#UNSW文憑,新南威爾士大學(xué)畢業(yè)證學(xué)歷認(rèn)證2023-03-11