django国际化|本地化

原创 140阅读 · 时间2019年6月17日 17:48

步骤:

  1. stting.py设置

    1.中间价

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

2.模板

TEMPLATES = [
    {
       ...
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.i18n',
                ...
            ],
        },
    },
]

3.

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

LANGUAGES = (
    ('en', ('English')),
    ('zh-hans', ('中文简体')),
)

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)
USE_I18N = True

USE_L10N = True

USE_TZ = True

2.

在模板中生成要翻译的字段

比如在app下的index.html中

{% load i18n %}
{% trans 'hello' %}

在python代码中生成要翻译的字段

from django.utils.translation import ugettext as _
from django.http import HttpResponse

def my_view(request):
    output = _("Welcome to my site.")
    return HttpResponse(output)


然后,执行:

 python manage.py makemessages -l zh_Hans

在根目录下的local/zh_Hans文件夹下 修改 django.po文件 如下图:

image.png


最后执行:

python manage.py compilemessages


大概步骤先记录一下。摸熟了再好好写!!


参考链接:

https://segmentfault.com/q/1010000016162390

https://docs.djangoproject.com/en/1.11/topics/i18n/translation/

https://www.cnblogs.com/oubo/archive/2012/04/05/2433690.html


评论

本站升级中... 如有好的建议请加入QQ群!

相关文章推荐 ?
近七日热文推荐 !
回到顶部