Tôi đang gặp khó khăn trong việc quốc tế hóa ứng dụng của mình, vì vậy tôi trình bày ở đây một ví dụ tối thiểu khi triển khai của tôi không thành công.Ví dụ tối thiểu hóa quốc tế Django
Hãy xem xét các bước sau đây để tạo ra một trang web trong django với sự hỗ trợ quốc tế:
đi đến thư mục yêu thích của bạn tại nhà ga và:
django-admin.py startproject mysite
cd mysite/
mkdir locale
python manage.py startapp main
# (1) modify mysite/urls.py
# (2) modify main/views.py
# (3) modify mysite/settings.py
django-admin.py makemessages -l de
# (4) modify locale/de/LC_MESSAGES/django.po
django-admin.py compilemessages -l de
python manage.py runserver
nơi:
## (1) mysite/urls.py
urlpatterns = patterns('',
url(r'^$', 'main.views.home'),
)
## (2) main/views.py
from django.http import HttpResponse
from django.utils.translation import ugettext as _
def home(request):
return HttpResponse(_('Hello'))
## (3) mysite/settings.py
LANGUAGE_CODE = 'de'
from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + \
('django.core.context_processors.i18n',) # ensures all django processors are used.
## (4) locale/de/LC_MESSAGES/django.po
#: main/views.py:6
msgid "Hello"
msgstr "Hallo"
tôi giả trang web có một số và chỉ một ngôn ngữ, do đó, tôi đã không kích hoạt miền địa phương trung gian bằng django documentation:
Nếu bạn muốn cho phép mỗi người dùng riêng biệt chỉ định ngôn ngữ anh ta hoặc cô ấy thích, hãy sử dụng LocaleMiddleware. LocaleMiddleware cho phép ngôn ngữ lựa chọn dựa trên dữ liệu từ yêu cầu. Tùy chỉnh nội dung cho mỗi người dùng.
Triển khai này không tạo bản dịch mong muốn "Hello" thành "Hallo". Tôi đang làm gì sai?
Nếu bạn truy cập bảng điều khiển quản trị Django, có phải bằng tiếng Đức không? Bạn đã cố gắng đặt 'LOCALE_PATHS'? https://docs.djangoproject.com/en/dev/ref/settings/#locale-paths –
@ andrea.ge: từ những gì tôi hiểu từ tài liệu django, đây phải là các bước tối thiểu để dịch ... Tôi đã thử LOCAL_PATHS, không thành công và tôi đã không cố gắng quản trị vì nó yêu cầu DB, mà tôi không sử dụng ... –
Bạn đã đặt đường dẫn nào cho 'LOCALE_PATHS'? –