最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Django的模版來配合字符串翻譯工作

 更新時間:2015年07月27日 15:54:16   投稿:goldensun  
這篇文章主要介紹了使用Django的模版來配合字符串翻譯工作,Django是最具人氣的Python開發(fā)框架,需要的朋友可以參考下

Django模板使用兩種模板標(biāo)簽,且語法格式與Python代碼有些許不同。 為了使得模板訪問到標(biāo)簽,需要將 {% load i18n %} 放在模板最前面。

這個{% trans %}模板標(biāo)記翻譯一個常量字符串 (括以單或雙引號) 或 可變內(nèi)容:

<title>{% trans "This is the title." %}</title>
<title>{% trans myvar %}</title>

如果有noop 選項,變量查詢還是有效但翻譯會跳過。 當(dāng)空缺內(nèi)容要求將來再翻譯時,這很有用。

<title>{% trans "myvar" noop %}</title>

在一個帶 {% trans %} 的字符串中,混進(jìn)一個模板變量是不可能的。如果你的譯文要求字符串帶有變量(占位符placeholders),請使用 {% 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á)式,可以用 and 來分隔:

{% 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 %} 之間使用 {% plural %} 標(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)在機制是,所有的塊和內(nèi)嵌翻譯調(diào)用相應(yīng)的 gettext 或 ngettext 。

每一個RequestContext可以訪問三個指定翻譯變量:

  1.     {{ LANGUAGES }} 是一系列元組組成的列表,每個元組的第一個元素是語言代碼,第二個元素是用該語言表示的語言名稱。
  2.     作為一二字符串,LANGUAGE_CODE是當(dāng)前用戶的優(yōu)先語言。 例如: en-us。(請參見下面的Django如何發(fā)現(xiàn)語言偏好)
  3.     LANGUAGE_BIDI就是當(dāng)前地域的說明。 如果為真(True),它就是從右向左書寫的語言,例如: 希伯來語,阿拉伯語。 如果為假(False),它就是從左到右書寫的語言,如: 英語,法語,德語等。

如果你不用這個RequestContext擴展,你可以用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 %} 。

翻譯的hook在任何接受常量字符串的模板塊標(biāo)簽內(nèi)也是可以使用的。 此時,使用 _() 表達(dá)式來指定翻譯字符串,例如:

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

在這種情況下,標(biāo)記和過濾器兩個都會看到已經(jīng)翻譯的字符串,所有它們并不需要提防翻譯操作。

備注:

在這個例子中,翻譯結(jié)構(gòu)將放過字符串"yes,no",而不是單獨的字符串"yes"和"no"。翻譯的字符串將需要包括逗號以便過濾器解析代碼明白如何分割參數(shù)。 例如, 一個德語翻譯器可能會翻譯字符串 "yes,no" 為 "ja,nein" (保持逗號原封不動)。

相關(guān)文章

  • python實現(xiàn)拉普拉斯特征圖降維示例

    python實現(xiàn)拉普拉斯特征圖降維示例

    今天小編就為大家分享一篇python實現(xiàn)拉普拉斯特征圖降維示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 在Python的Tornado框架中實現(xiàn)簡單的在線代理的教程

    在Python的Tornado框架中實現(xiàn)簡單的在線代理的教程

    這篇文章主要介紹了在Python的Tornado框架中實現(xiàn)簡單的在線代理的教程,代理功能是一個常見的網(wǎng)絡(luò)編程實現(xiàn),需要的朋友可以參考下
    2015-05-05
  • Flask的url_for和request.url如何進(jìn)行URL判斷

    Flask的url_for和request.url如何進(jìn)行URL判斷

    這篇文章主要介紹了Flask的url_for和request.url如何進(jìn)行URL判斷問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • python使用requests.post方法傳遞form-data類型的Excel數(shù)據(jù)的示例代碼

    python使用requests.post方法傳遞form-data類型的Excel數(shù)據(jù)的示例代碼

    這篇文章介紹了python使用requests.post方法傳遞form-data類型的Excel數(shù)據(jù)的示例代碼,某些post接口,需要發(fā)送multipart/form-data類型的數(shù)據(jù),如何使用python requests來模擬這種類型的請求發(fā)送呢?補充講解了python使用requests post請求發(fā)送form-data類型數(shù)據(jù),一起看看吧
    2024-01-01
  • Python3.X 線程中信號量的使用方法示例

    Python3.X 線程中信號量的使用方法示例

    信號量semaphore 是一個變量,控制著對公共資源或者臨界區(qū)的訪問。信號量維護(hù)著一個計數(shù)器,指定可同時訪問資源或者進(jìn)入臨界區(qū)的線程數(shù)。下面這篇文章主要給大家介紹了關(guān)于Python3.X 線程中信號量的使用方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • 淺談Python使用pickle模塊序列化數(shù)據(jù)優(yōu)化代碼的方法

    淺談Python使用pickle模塊序列化數(shù)據(jù)優(yōu)化代碼的方法

    這篇文章主要介紹了淺談Python使用pickle模塊序列化數(shù)據(jù)優(yōu)化代碼的方法,pickle模塊可以對多種Python對象進(jìn)行序列化和反序列化,序列化稱為pickling,反序列化稱為unpickling,需要的朋友可以參考下
    2023-07-07
  • python獲取外網(wǎng)IP并發(fā)郵件的實現(xiàn)方法

    python獲取外網(wǎng)IP并發(fā)郵件的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猵ython獲取外網(wǎng)IP并發(fā)郵件的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 在PyTorch中Tensor的查找和篩選例子

    在PyTorch中Tensor的查找和篩選例子

    今天小編就為大家分享一篇在PyTorch中Tensor的查找和篩選例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Django中的CBV和FBV示例介紹

    Django中的CBV和FBV示例介紹

    這篇文章主要給大家介紹了關(guān)于Django中CBV和FBV的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Django rest framework基本介紹與代碼示例

    Django rest framework基本介紹與代碼示例

    這篇文章主要介紹了Django rest framework基本介紹與代碼示例,簡單敘述了rest framework的一些用處,可選擇的相關(guān)軟件包,然后分享了一個簡單的模型支持的API的例子,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

永福县| 高碑店市| 家居| 雷波县| 渑池县| 莆田市| 百色市| 青海省| 蛟河市| 卢氏县| 河津市| 新平| 保靖县| 泽库县| 崇义县| 涿鹿县| 茶陵县| 老河口市| 金山区| 凤凰县| 曲麻莱县| 尼勒克县| 克拉玛依市| 迁西县| 胶南市| 来凤县| 绥棱县| 锡林郭勒盟| 阆中市| 苍溪县| 九江市| 建瓯市| 南宁市| 墨脱县| 含山县| 河源市| 克什克腾旗| 从化市| 德格县| 德阳市| 达拉特旗|