欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統(tǒng) 1821 0

當(dāng)你標(biāo)記了翻譯字符串,你就需要寫(xiě)出(或獲取已有的)對(duì)應(yīng)的語(yǔ)言翻譯信息。 這里就是它如何工作的。

地域限制

Django不支持把你的應(yīng)用本地化到一個(gè)連它自己都還沒(méi)被翻譯的地域。 在這種情況下,它將忽略你的翻譯文件。 如果你想嘗試這個(gè)并且Django支持它,你會(huì)不可避免地見(jiàn)到這樣一個(gè)混合體?C?C參雜著你的譯文和來(lái)自Django自己的英文。 如果你的應(yīng)用需要你支持一個(gè)Django中沒(méi)有的地域,你將至少需要做一個(gè)Django core的最小翻譯。
消息文件

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

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

            
django-admin.py makemessages -l de


          

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

這段腳本應(yīng)該在三處之一運(yùn)行:

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

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

作為默認(rèn), django-admin.py makemessages 檢測(cè)每一個(gè)有 .html 擴(kuò)展名的文件。? 以備你要重載缺省值,使用 --extension 或 -e 選項(xiàng)指定文件擴(kuò)展名來(lái)檢測(cè)。

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


          

用逗號(hào)和(或)使用-e或--extension來(lái)分隔多項(xiàng)擴(kuò)展名:

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


          

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

沒(méi)有g(shù)ettext?

如果沒(méi)有安裝 gettext 組件, make-messages.py 將會(huì)創(chuàng)建空白文件。 這種情況下,安裝 gettext 組件或只是復(fù)制英語(yǔ)信息文件( conf/locale/en/LC_MESSAGES/django.po )來(lái)作為一個(gè)起點(diǎn);只是一個(gè)空白的翻譯信息文件而已。

工作在Windows上么?

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

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

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

            
_("Welcome to my site.")


          

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

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


          

快速解釋?zhuān)?

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

對(duì)于比較長(zhǎng)的信息也有其處理方法。 msgstr (或 msgid )后緊跟著的字符串為一個(gè)空字符串。 然后真正的內(nèi)容在其下面的幾行。 這些字符串會(huì)被直接連在一起。 同時(shí),不要忘了字符串末尾的空格,因?yàn)樗鼈儠?huì)不加空格地連到一起。

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

            
django-admin.py makemessages -a


          

編譯信息文件

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

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

            
django-admin.py compilemessages


          

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

編譯信息文件

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

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

            
django-admin.py compilemessages


          

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!??!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 精品视频一区二区三区在线观看 | 日本一区视频在线播放 | 精品a在线观看 | 国产一区二区小早川怜子 | 中文字幕人成乱码在线观看 | 久久www免费人成看片色多多 | 天天拍夜夜添久久精品中文 | 久久99精品久久久久久臀蜜桃 | 国产一级一级国产 | 一级片性 | 久久特级毛片 | 91中文字幕 | 久久亚洲高清 | 久草视频在线资源站 | 欧美啪啪网址 | 成人精品鲁一区一区二区 | 一级一级 a爱片免费视频 | 欧美日韩中文在线 | 日韩精品一区二区三区中文字幕 | 成人毛片100免费观看 | 亚洲精品一区二区 | 星际迷航4| 日本免费一区二区三区视频 | 一区二区三区四区免费看 | a毛片视频网站 | 91操美女| 一区二区三区成人A片在线观看 | 黄视频免费在线观看 | 欧洲色图亚洲色图 | 精品一区二区电影 | 久操免费在线视频 | 极品狂兵电视剧免费观看 | 亚洲好视频 | 国产精品国产三级国产aⅴ 精品视频在线播放 | 五月天色网址 | 国产一区久久久 | 伊人成人在线观看 | 欧美另类视频一区二区三区 | 一级毛片免费观看不收费 | 国产精品1页| 久久成人免费 |