我在與使用發送已本地化的消息Django的用戶
user.message_set.create(message="Message")
機制發送本地化的消息到Django的用戶使用帶來麻煩。首先,
user.message_set.create(message=_("Message"))
扁平不工作,SQLite表示它不會接受非ascii參數(本地化的消息包含特殊字符)。
user.message_set.create(message=unicode(_("Message")))
無論首選語言如何(應用程序的其他翻譯部分都可以正常工作)發送原始英文消息。
使用這樣
user.message_set.create(message=u"Localized message áýčš")
一個硬編碼本地化的消息是,工作,但那個唯一意味着我可以只使用一種語言。
如何向用戶發送從LC_MESSAGES加載的本地化消息?
theres與此有關的一個問題。我猜測'makemessages'命令不會捕獲字符串,你必須記得手動編輯django.po文件,或者使用一種解決方法 - 在.py中添加一個帶有_(「Message」)的虛擬行代碼 – Evgeny 2009-10-26 21:36:50
那裏有`django.utils.translation.gettext_noop`。另外,'{%trans message%}'不起作用(至少在1.3/new contrib.messages上)。改用'{%trans message.message%}'。 – ionelmc 2011-03-28 23:29:47