Yönetici panelinde, yöneticinin siparişle ilgili bilgileri bu siparişte listelenen belirli kişilere göndermesine izin veren bir eylemi olan bir Sipariş modelim var. Her kişi dil kümesi vardır ve bu mesaj olarak gönderilecektir gerekiyordu dildirDjango: yönetici panelinden gönderilen iletinin dilini değiştirme
ben kullanıyorum ne kısa versiyonu:.
from django.utils.translation import ugettext as _
from django.core.mail import EmailMessage
lang = method_that_gets_customer_language()
body = _("Dear mister X, here is the information you requested\n")
body += some_order_information
subject = _("Order information")
email = EmailMessage(subject, body, '[email protected]', ['[email protected]'])
email.send()
kullandığı dil hakkında müşteri bilgisi var lang
. Varsayılan dil en-us, çeviriler Fransızca (fr) ve Almanca (de).
lang
body
ve subject
için belirtilen dil için çeviriyi kullanmanın bir yolu var mı? Örneğin: lang
, 'de' dir. Konu ve beden, 'de' çeviri dosyalarında belirtilen dizeleri almalıdır.
düzenleme:
bir çözüm bulundu. Bu o body
değişkeni sürer Ne
from django.utils import translation
from django.utils.translation import ugettext as _
body = "Some text in English"
translation.activate('de')
print "%s" % _(body)
translation.activate('en')
, o zaman dili İngilizce olarak döndürür yazdırır, Alman onu çevirir.
şey
gibibody = _("Some text in English")
translation.activate('de')
print "%s" % body
olsa İngilizce metni yazdırır. aktive eğer/çeviri devre dışı bırakılması sorunu (?) çözmek için uygun bir yoldur
Düzeltme: Oooops, üzgünüm. Bugün kafamda kesinlikle yanlış bir şey var. –
translation.deactivate() translation.activate ('en') 'den daha iyi olabilir. –
Teşekkür ederim. Bu işlevi görmedim. – yoshi