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

在Python的Django框架中創(chuàng)建語言文件

 更新時間:2015年07月27日 16:34:41   投稿:goldensun  
這篇文章主要介紹了在Python的Django框架中創(chuàng)建語言文件的方法,以語言代碼來表示語言區(qū)域種類,需要的朋友可以參考下

當你標記了翻譯字符串,你就需要寫出(或獲取已有的)對應的語言翻譯信息。 這里就是它如何工作的。

地域限制

Django不支持把你的應用本地化到一個連它自己都還沒被翻譯的地域。 在這種情況下,它將忽略你的翻譯文件。 如果你想嘗試這個并且Django支持它,你會不可避免地見到這樣一個混合體––參雜著你的譯文和來自Django自己的英文。 如果你的應用需要你支持一個Django中沒有的地域,你將至少需要做一個Django core的最小翻譯。
消息文件

第一步,就是為一種語言創(chuàng)建一個信息文件。 信息文件是包含了某一語言翻譯字符串和對這些字符串的翻譯的一個文本文件。 信息文件以 .po 為后綴名。

Django中帶有一個工具, bin/make-messages.py ,它完成了這些文件的創(chuàng)建和維護工作。 運行以下命令來創(chuàng)建或更新一個信息文件:

django-admin.py makemessages -l de

其中 de 是所創(chuàng)建的信息文件的語言代碼。 在這里,語言代碼是以本地格式給出的。 例如,巴西地區(qū)的葡萄牙語為 pt_BR ,澳大利亞地區(qū)的德語為 de_AT 。

這段腳本應該在三處之一運行:

  1.     Django項目根目錄。
  2.     您Django應用的根目錄。
  3.     django 根目錄(不是Subversion檢出目錄,而是通過 $PYTHONPATH 鏈接或位于該路徑的某處)。 這僅和你為Django自己創(chuàng)建一個翻譯時有關。

這段腳本遍歷你的項目源樹或你的應用程序源樹并且提取出所有為翻譯而被標記的字符串。 它在 locale/LANG/LC_MESSAGES 目錄下創(chuàng)建(或更新)了一個信息文件。針對上面的de,應該是locale/de/LC_MESSAGES/django.po。

作為默認, django-admin.py makemessages 檢測每一個有 .html 擴展名的文件。  以備你要重載缺省值,使用 --extension 或 -e 選項指定文件擴展名來檢測。

django-admin.py makemessages -l de -e txt

用逗號和(或)使用-e或--extension來分隔多項擴展名:

django-admin.py makemessages -l de -e html,txt -e xml

當創(chuàng)建JavaScript翻譯目錄時,你需要使用特殊的Django域:not -e js 。

沒有gettext?

如果沒有安裝 gettext 組件, make-messages.py 將會創(chuàng)建空白文件。 這種情況下,安裝 gettext 組件或只是復制英語信息文件( conf/locale/en/LC_MESSAGES/django.po )來作為一個起點;只是一個空白的翻譯信息文件而已。

工作在Windows上么?

如果你正在使用Windows,且需要安裝GNU gettext共用程序以便 django-admin makemessages 可以工作,請參看下面Windows小節(jié)中gettext部分以獲得更多信息。

.po 文件格式很直觀。 每個 .po 文件包含一小部分的元數(shù)據(jù),比如翻譯維護人員的聯(lián)系信息,而文件的大部分內(nèi)容是簡單的翻譯字符串和對應語言翻譯結果的映射關系的列表。

舉個例子,如果Django應用程序包括一個 "Welcome to my site." 的待翻譯字符串 ,像這樣:

_("Welcome to my site.")

則django-admin.py makemessages將創(chuàng)建一個 .po 文件來包含以下片段的消息:

#: path/to/python/module.py:23
msgid "Welcome to my site."
msgstr ""

快速解釋:

  •     msgid 是在源文件中出現(xiàn)的翻譯字符串。 不要做改動。
  •     msgstr 是相應語言的翻譯結果。 剛創(chuàng)建時它只是空字符串,此時就需要你來完成它。 注意不要丟掉語句前后的引號。
  •     作為方便之處,每一個消息都包括:以 # 為前綴的一個注釋行并且定位上邊的msgid 行,文件名和行號。

對于比較長的信息也有其處理方法。 msgstr (或 msgid )后緊跟著的字符串為一個空字符串。 然后真正的內(nèi)容在其下面的幾行。 這些字符串會被直接連在一起。 同時,不要忘了字符串末尾的空格,因為它們會不加空格地連到一起。

若要對新創(chuàng)建的翻譯字符串校驗所有的源代碼和模板,并且更新所有語言的信息文件,可以運行以下命令:

django-admin.py makemessages -a

編譯信息文件

創(chuàng)建信息文件之后,每次對其做了修改,都需要將它重新編譯成一種更有效率的形式,供 gettext 使用??梢允褂胐jango-admin.py compilemessages完成。

這個工具作用于所有有效的 .po 文件,創(chuàng)建優(yōu)化過的二進制 .mo 文件供 gettext 使用。在你可以運行django-admin.py makemessages的目錄下,運行django-admin.py compilemessages:

django-admin.py compilemessages

就是這樣了。 你的翻譯成果已經(jīng)可以使用了。

編譯信息文件

創(chuàng)建信息文件之后,每次對其做了修改,都需要將它重新編譯成一種更有效率的形式,供 gettext 使用??梢允褂胐jango-admin.py compilemessages完成。

這個工具作用于所有有效的 .po 文件,創(chuàng)建優(yōu)化過的二進制 .mo 文件供 gettext 使用。在你可以運行django-admin.py makemessages的目錄下,運行django-admin.py compilemessages:

django-admin.py compilemessages

就是這樣了。 你的翻譯成果已經(jīng)可以使用了。

相關文章

  • Python守護進程和腳本單例運行詳解

    Python守護進程和腳本單例運行詳解

    本篇文章主要介紹了Python守護進程和腳本單例運行,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • pandas loc iloc ix用法詳細分析

    pandas loc iloc ix用法詳細分析

    pandas處理數(shù)據(jù)時,我們會經(jīng)常看到dataframe結構使用loc, iloc, ix等方法,那么這些方法到底有啥區(qū)別,下面我們來進行詳細分析,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Python利用matplotlib實現(xiàn)動態(tài)可視化詳解

    Python利用matplotlib實現(xiàn)動態(tài)可視化詳解

    Python中的數(shù)據(jù)可視化是指原始數(shù)據(jù)的圖形表示,以更好地可視化、理解和推理,Python提供了各種庫,包含用于可視化數(shù)據(jù)的不同特性,下面我們就來看看如何利用matplotlib實現(xiàn)動態(tài)可視化吧
    2023-08-08
  • 如何使用Python打包APK

    如何使用Python打包APK

    這篇文章主要介紹了Linux環(huán)境下的Python打包和部署實踐的相關資料,需要的朋友可以參考下
    2024-02-02
  • Python matplotlib讀取excel數(shù)據(jù)并用for循環(huán)畫多個子圖subplot操作

    Python matplotlib讀取excel數(shù)據(jù)并用for循環(huán)畫多個子圖subplot操作

    這篇文章主要介紹了Python matplotlib讀取excel數(shù)據(jù)并用for循環(huán)畫多個子圖subplot操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Scrapy-Redis結合POST請求獲取數(shù)據(jù)的方法示例

    Scrapy-Redis結合POST請求獲取數(shù)據(jù)的方法示例

    這篇文章主要給大家介紹了關于Scrapy-Redis結合POST請求獲取數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Scrapy-Redis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • python 時間的訪問和轉換 time示例小結

    python 時間的訪問和轉換 time示例小結

    Python 的 time 模塊提供了各種與時間處理相關的功能,包括獲取當前時間、操作日期/時間以及執(zhí)行與時間相關的各種其它功能,這篇文章主要介紹了python 時間的訪問和轉換 time,需要的朋友可以參考下
    2024-05-05
  • numpy.ndarray 實現(xiàn)對特定行或列取值

    numpy.ndarray 實現(xiàn)對特定行或列取值

    今天小編就為大家分享一篇numpy.ndarray 實現(xiàn)對特定行或列取值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python 模擬員工信息數(shù)據(jù)庫操作的實例

    Python 模擬員工信息數(shù)據(jù)庫操作的實例

    下面小編就為大家?guī)硪黄狿ython 模擬員工信息數(shù)據(jù)庫操作的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Python中的列表及其操作方法

    Python中的列表及其操作方法

    這篇文章主要介紹了Python中的列表及其操作方法,涉及到的方法包括對列表元素進行修改、添加、刪除、排序以及求列表長度等,此外還介紹了列表的遍歷、數(shù)值列表、切片和元組的一些操作,下文詳細介紹需要的小伙伴可以參考一下
    2022-03-03

最新評論

利津县| 石泉县| 泸定县| 南充市| 四川省| 南康市| 白玉县| 沾益县| 南城县| 长宁县| 鄂尔多斯市| 黄浦区| 西盟| 府谷县| 遂昌县| 丹棱县| 锡林浩特市| 沅陵县| 舞阳县| 六安市| 永川市| 巴林左旗| 民县| 广东省| 公安县| 浦江县| 古交市| 航空| 葵青区| 陕西省| 色达县| 丰县| 绥芬河市| 合肥市| 施秉县| 垫江县| 凌源市| 恭城| 松滋市| 财经| 龙州县|