亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django的settings中設置中文支持的實現

發布時間:2020-09-27 07:47:52 來源:腳本之家 閱讀:137 作者:zx 欄目:開發技術

今天創建了個django工程,用的是目前django 1.9.6,創建工程后,settings.py中設置中文顯示支持(最簡單的,例如把admin界面的默認英文改成中文),定義

TIME_ZONE = 'Asia/Shanghai'
LANGUAGE_CODE = 'zh-cn'

當然TIME_ZONE只是指定時區,和中文顯示沒有關系,這里一并修改了默認值。結果運行項目時報錯了,如下:

django IOError: No translation files found for default language zh-cn

即找不到zh-cn對應的本地化文件。一般而言,zh-cn編碼對應的本地化文件夾為zh_CN,我去django的安裝目錄查找zh_CN,結果確實沒有找到,在django安裝目錄的contrib子目錄下的一系列子目錄的locale文件夾中,沒有zh_CN,而有zh_Hans。不知道為什么django的這個版本沒有zh_CN文件夾,可能是一個bug吧。網上有人說將zh_Hans目錄全部復制一份并命名為zh_CN,就可以解決這個問題,我試了下,再次運行確實可行了,在admin界面顯示了中文。至于這種比較山寨的方法有沒有隱患,現在還不知道,以后遇到再說吧。

不過話說回來,其實還有正統的方式去生成國際化文件,如下命令:

django-admin.py makemessages -l zh_CN

不過這個需要gettext組件,如果你是在windows上開發,那么你需要自己安裝這個組件,

在http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/下載gettext-runtime-X.zip以及gettext-tools-X.zip的最新版(注:X為版本號)并解壓后,將兩個bin目錄可以合并后放入系統環境變量中。不過該方法我沒有驗證,感興趣的可以試試。

后來我又想,django之前的老版本是有zh_CN的,要說這個一個bug,估計也比較低級,按理不應該的。于是又查,發現貌似zh_Hans可能已經替代zh_CN了。Han表示漢字,s表示Simplified簡體,反正我設置為LANGUAGE_CODE = 'zh-hans'也是正常顯示中文。

zh-cn will expired in Django1.9, the new format is zh-hans, but drf3.1.0 does not support this type of language.

上面的意思是在django1.9中,zh-cn過期了,可以用zh-hans替代,不過可能有些django的第三方模塊還沒有跟上這個變化。

總之,仁者見仁智者見智了,其實大可不必如此研究,只是突然對這個比較感興趣所以多研究了一會。

ps:網上很多地方對于LANGUAGE_CODE = 'zh-cn'有各種不同寫法,包括zh_CN,zh-CN等,有的人還說只能用某某寫法等,反正我是沒看出來區別,我也都試了,都沒發現問題。

另外說個題外話,之前一直都不知道settings.py中的USE_I18N和USE_L10N是什么意思,直到看到了下面的一段話:

當 Web 服務搭建好以后,可以接收來自全球不同國家用戶訪問。這樣就要求開發人員調整軟件,使之能適用于不同的語言,即國際化和本地化。國際化

-- Internationalization,i 和 n 之間有 18 個字母,簡稱 I18N,。本地化 -- localization, l 和 n 之間有 10 個字母,簡稱 L10N。國際化意味著 Web

產品有適用于任何地方的潛力,針對程序開發人員;本地化則是指使一個國際化的程序為了在某個特定地區使用而進行實際翻譯的過程,針對翻譯人員而言。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秀山| 姚安县| 铜川市| 高平市| 安福县| 汉源县| 师宗县| 衡山县| 舞阳县| 靖江市| 宁化县| 西乌| 浮梁县| 金阳县| 响水县| 汕尾市| 新宾| 大城县| 丹阳市| 厦门市| 昌乐县| 岐山县| 大姚县| 西宁市| 班玛县| 台湾省| 民勤县| 商洛市| 峨眉山市| 辉县市| 北宁市| 睢宁县| 靖州| 平塘县| 兰溪市| 伊通| 六安市| 晋城| 龙门县| 家居| 井冈山市|