İçeriğe git
Django i18n

Django i18n: Python Web Uygulamaları için Yerleşik Çeviri

Django, GNU gettext ile desteklenen eksiksiz bir uluslararasılaştırma çerçevesiyle birlikte gelir. Görünümlerde, modellerde ve şablonlarda gettext işlevlerini ve şablon etiketlerini kullanarak çeviri için metin dizelerini işaretleyin. Django, hızlı arama için .po dosyalarını .mo ikili dosyalarına derler ve ara yazılımı, URL öneklerine, çerezlere veya tarayıcı başlıklarına göre doğru yerel ayarı otomatik olarak etkinleştirir.

Django'nun Uluslararasılaştırma Özellikleri

_() ve gettext_lazy() çeviri işlevleriyle GNU gettext entegrasyonu
.po/.mo dosyaları için makemessages ve compilemessages komutlarıyla iş akışı
Şablon içi çeviriler için {% trans %} ve {% blocktrans %} şablon etiketleri
ngettext ve {% blocktrans count %} ile çoğullaşma desteği
Model alanları ve form etiketleri için gettext_lazy() ile tembel çeviri
URL'lerden, çerezlerden ve başlıklardan otomatik dil algılama için LocaleMiddleware
Yerel ayar önekli URL yönlendirmesi için i18n_patterns (ör. /en/about, /fr/about)
Tarih, sayı ve para birimleri için form ve model alanlarının yerelleştirilmesi
USE_TZ ve pytz entegrasyonu ile saat dilimini dikkate alan tarih-saat işleme

Uygulamada Django i18n

Çoğullar için Views'da gettext işlevlerini ve ngettext'i kullanın, ardından desteklenen yerel ayarları tanımlamak için settings.py dosyasındaki LANGUAGES bölümünü yapılandırın.

# views.py
from django.utils.translation import gettext as _
from django.utils.translation import ngettext

def welcome(request):
    output = _("Welcome to our site")
    count = 5
    output += ngettext(
        "%(count)d item",
        "%(count)d items",
        count
    ) % {"count": count}
    return HttpResponse(output)

# settings.py
LANGUAGE_CODE = 'en'
USE_I18N = True
LANGUAGES = [
    ('en', 'English'),
    ('fr', 'French'),
    ('de', 'German'),
]

Django Yerelleştirmesine Bugün Başlayın

Django .po dosyalarındaki çevirilerinizi yapay zeka destekli iş akışları, CLI senkronizasyonu ve 50 milisaniyenin altında CDN dağıtımı ile yönetin.