乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Django 國際化

       小飛苑 2017-01-08

      Django 支持國際化,多語言。Django的國際化是默認開啟的,如果您不需要國際化支持,那么您可以在您的設(shè)置文件中設(shè)置 USE_I18N = False,那么Django會進行一些優(yōu)化,不加載國際化支持機制。

      NOTE: 18表示Internationlization這個單詞首字母I和結(jié)尾字母N之間的字母有18個。I18N就是Internationlization的意思。


      Django 完全支持文本翻譯,日期時間數(shù)字格式和時區(qū)。

      本質(zhì)上講,Django做了兩件事:

      1. 它允許開發(fā)者指定要翻譯的字符串

      2. Django根據(jù)特定的訪問者的偏好設(shè)置 進行調(diào)用相應(yīng)的翻譯文本。


      一,開啟國際化的支持,需要在settings.py文件中設(shè)置

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      MIDDLEWARE_CLASSES = (
          ...
          'django.middleware.locale.LocaleMiddleware',
      )
      LANGUAGE_CODE = 'en'
      TIME_ZONE = 'UTC'
      USE_I18N = True
      USE_L10N = True
      USE_TZ = True
      LANGUAGES = (
          ('en', ('English')),
          ('zh-cn', ('中文簡體')),
          ('zh-tw', ('中文繁體')),
      )
      #翻譯文件所在目錄,需要手工創(chuàng)建
      LOCALE_PATHS = (
          os.path.join(BASE_DIR, 'locale'),
      )
      TEMPLATE_CONTEXT_PROCESSORS = (
          ...
          "django.core.context_processors.i18n",
      )

      注意:Django 1.9 及以上版本中,語言的代碼發(fā)生變化(詳情鏈接:github, django ticket,如下

      1
      2
      3
      4
      5
      LANGUAGES = (
          ('en', ('English')),
          ('zh-hans', ('中文簡體')),
          ('zh-hant', ('中文繁體')),
      )


      二,生成需要翻譯的文件(Django 1.8及以下的版本):

      1
      2
      python manage.py makemessages -l zh-cn
      python manage.py makemessages -l zh-tw

      Django 1.9 及以上版本要改成

      1
      2
      python manage.py makemessages -l zh_hans
      python manage.py makemessages -l zh_hant


      三,手工翻譯 locale 中的 django.po

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      此處省去500字
      ...
      #: .\tutorial\models.py:23
      msgid "created at"
      msgstr "創(chuàng)建于"
      #: .\tutorial\models.py:24
      msgid "updated at"
      msgstr "更新于"
      ...
      此處省去幾百字

      四,編譯一下,這樣翻譯才會生效

      1
      python manage.py compilemessages

      如果翻譯不生效,請檢查你的語言包的文件夾是不是有 中劃線,請用下劃線代替它。

      比如 zh-hans 改成 zh_hans


      Django 官方教程:internationalization-and-localization

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多