Je ne parviens pas à envoyer de messages aux utilisateurs de Django en utilisant le mécanismeEnvoi de messages aux utilisateurs de Django
user.message_set.create(message="Message")
. Tout d'abord,
user.message_set.create(message=_("Message"))
à plat ne fonctionne pas, SQLite dit qu'il ne sera pas accepter le paramètre non-ascii (message localisé contient des caractères spéciaux).
user.message_set.create(message=unicode(_("Message")))
envoie le message original en anglais indépendamment de la langue préférée (d'autres parties traduites de l'application fonctionnent correctement).
l'aide d'un message localisé hardcoded comme celui-ci
user.message_set.create(message=u"Localized message áýčš")
est la seule chose qui fonctionne, mais cela implique que je serais capable d'utiliser une seule langue.
Comment puis-je envoyer des messages localisés aux utilisateurs chargés depuis LC_MESSAGES?
theres est un problème avec cela. Je suppose que la commande 'makemessages' n'attrapera pas la chaîne et vous devrez vous rappeler d'éditer le fichier django.po manuellement, ou utiliser une solution de contournement - ajouter une ligne factice avec _ ("Message") dans le .py Il y a 'django.utils.translation.gettext_noop' pour le code – Evgeny
. De même, '{% trans message%}' ne fonctionnera pas (au moins sur 1.3/new contrib.messages). Utilisez '{% trans message.message%}' à la place. – ionelmc