Django中的语言和本地化设置示例

2023-04-11 00:00:00 语言 示例 本地化

Django支持多种语言和本地化设置。这样可以使该应用程序可访问全球范围的用户。下面是一些示例。

  1. 语言设置

在settings.py文件中,可以通过LANGUAGE_CODE设置默认语言代码。例如,设置为中文:

LANGUAGE_CODE = 'zh-Hans'

您还可以指定Django支持的其他语言。例如,添加以下语言:

LANGUAGES = [
    ('en-us', 'English'),
    ('zh-hans', '简体中文'),
    ('fr-fr', 'Français'),
]
  1. 本地化设置

您可以使用django.utils.translation模块实现本地化。例如,为了在视图中使用本地化的文本字符串,引入gettext_lazy函数:

from django.utils.translation import gettext_lazy as _

然后,您可以使用该功能来翻译字符串。例如:

message = _('Welcome to pidancode.com')
  1. 范例

以下代码演示如何在Django中使用语言和本地化设置:

# settings.py
LANGUAGE_CODE = 'zh-Hans'

LANGUAGES = [
    ('en-us', 'English'),
    ('zh-hans', '简体中文'),
    ('fr-fr', 'Français'),
]

# views.py
from django.shortcuts import render
from django.utils.translation import gettext_lazy as _

def home(request):
    message = _('Welcome to pidancode.com')
    return render(request, 'home.html', {'message': message})

# home.html
{% extends 'base.html' %}

{% block title %}
    {{ _('Home') }}
{% endblock %}

{% block content %}
    <h1>{{ message }}</h1>
{% endblock %}

在上述示例中,增加了一个“简体中文”语言选项,并将其设置为默认值。然后,在视图中,使用gettext_lazy函数将“Welcome to pidancode.com”翻译成用户设置的语言。最后,在模板中,使用{{}}语法将翻译的字符串呈现给用户。

相关文章