2016-03-26 28 views
0

değiştirebilecek bir ad olduğu veritabanı değerlerini çevirme Kullanıcıları benim uygulamamdaki bildirimleri (Django 1.8) çevirmek istiyorum. bildirimler veritabanında saklanır ve tüm standart metinleri var, ama onlar bildirim örneğin ilgilidir kişilerin adları, biri olabilir:Django i18n: Bir sözcüğün,

"John size bir mesaj gönderdi" böylece "size bir mesaj yolladı" bölümü her zaman aynı olacaktır, ancak başlangıçtaki isim herhangi bir şeye dönüşebilir ve tercüme edilmesine gerek yoktur.

Diğer veritabanı değişkenleri ve birkaç standart değere sahip bazı bildirimler için yalnızca {% trans notification.message %} yapıyorum ve msgid ve msgstr dosyalarını django.po dosyasına el ile ekliyorum, ancak bu adın baştaki adı ben yok ' ne yapacağımı bilmiyorum. Öneriler?

cevap

1

Metinler siz yazdıkça 'standart' metinlerse, büyük olasılıkla veritabanında yalnızca ad değişikliği ile gereksiz yere saklanmamalısınız (ne yapmaya çalıştığınıza inanmam mümkün değil). Sen modelin bir özellik ya da işlevle muhtemelen daha iyi:

@property 
def message(self): 
    return ugettext('{name} has sent you a message').format(name=self.foo.bar.name) 

Bu şekilde, makemessages senin çeviriler için düzgün çalışacaktır.

+0

, toplam anlam ifade eder. Teşekkürler! – dietbacon