Django-fr

Forum

#1 26-02-2015 16:47:10

miloproject
Membre
Inscription : 10-02-2012
Messages : 10

Model translation

Bonjour,

J'ai l'habitude de faire les traductions dans les templates, mais pas avec
les models.
Pourriez-vous me dire comment traduire mes modèles fields?

J'utilise les modelform.

Ces traductions vont-elle s'ajouter un fichier .po?

Merci,

Michaël Cornelis

Hors ligne

#2 26-02-2015 16:53:45

tominardi
Membre
Inscription : 13-05-2013
Messages : 2

Re : Model translation

Salut,

basiquement, il s'agit de faire un import de ugettext_lazy :
from django.utils.translation import ugettext_lazy as _

puis, le premier paramètre d'un field est son label. Tu as juste à le
traduire :

name = models.CharField(_('name'), max_length=255)

Tu peux aussi traduire le nom du modèle dans la classe Meta :

    class Meta:
        verbose_name = _("my model")
        verbose_name_plural = _("my models")

Le fonctionnement sera le même dans les formulaires. smile



Thomas
tominardi _AT_ gmail.com


Le 26 février 2015 16:47, Michael Cornelis <cornelismchl _AT_ gmail.com> a écrit
:

> Bonjour,
>
> J'ai l'habitude de faire les traductions dans les templates, mais pas avec
> les models.
> Pourriez-vous me dire comment traduire mes modèles fields?
>
> J'utilise les modelform.
>
> Ces traductions vont-elle s'ajouter un fichier .po?
>
> Merci,
>
> Michaël Cornelis
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#3 26-02-2015 16:54:45

Marc DEBUREAUX
Membre
Inscription : 21-07-2016
Messages : 1

Re : Model translation

Bonjour,

Vous pouvez utiliser l'outil de localisation fourni avec Django qui
fonctionne de la même manière dans le code que dans les templates pour la
génération du fichier de traduction.

from django.utils.translation import ugettext_lazy as _


Il est d'usage de renommer ugettext_lazy pour plus de simplicité à
l'écriture. Vous pouvez ensuite l'utiliser dans vos modèles comme pour cet
exemple :

class BaseEntity(Entity):
    code = models.CharField(max_length=100, unique=True,
validators=[RegexValidator(r'^([A-Za-z_][0-9A-Za-z_]*)$')],
verbose_name=_("Code"),
        help_text=_("Le code doit être unique à la création, il permet
d'identifier plus facilement les données.<br/>"
                    "Il ne doit contenir que des caractères
alphanumériques et des underscores ainsi qu'aucun espace."))
    libelle = models.CharField(max_length=200, verbose_name=_("Libellé"))


En espérant que ça puisse vous aider.

Pour toutes vos questions, je vous encourage à l'avenir d'utiliser une
plateforme dédiée comme http://indexerror.net/ (équivalent de StackOverflow
francophone pour Python et Django).


Le 26 février 2015 16:47, Michael Cornelis <cornelismchl _AT_ gmail.com> a écrit
:

> Bonjour,
>
> J'ai l'habitude de faire les traductions dans les templates, mais pas avec
> les models.
> Pourriez-vous me dire comment traduire mes modèles fields?
>
> J'utilise les modelform.
>
> Ces traductions vont-elle s'ajouter un fichier .po?
>
> Merci,
>
> Michaël Cornelis
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#4 26-02-2015 16:56:45

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Model translation

Salut Michael,

La traduction des champs des modèles est un sujet très intéressant.

Pour bien te répondre il faut connaitre la nature de ces données, la/les
personnes qui vont les saisir (admin / user / traducteur) et comment elles
vont être affichées.

Est ce que les enregistrement seront tous multilingues ? Ou juste taggués
avec une langue ?

C'est une réflexion globale sur le type de traduction du système.

Dans mon expérience il est rare d'avoir des items réellement multilingue.
Pour moi la donnée est dans une langue et on peut lier deux données
présentant la même information dans différentes langues. Il faut donc
sauvegarder la langue de la donnée.

Cordialement,

Rémy
Le 26 févr. 2015 16:48, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a écrit
:

> Bonjour,
>
> J'ai l'habitude de faire les traductions dans les templates, mais pas avec
> les models.
> Pourriez-vous me dire comment traduire mes modèles fields?
>
> J'utilise les modelform.
>
> Ces traductions vont-elle s'ajouter un fichier .po?
>
> Merci,
>
> Michaël Cornelis
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#5 26-02-2015 17:04:20

miloproject
Membre
Inscription : 10-02-2012
Messages : 10

Re : Model translation

Merci à tous pour cette rapidité.

Concrètement, l'application est développée en anglais.
Mais traduite en français et néerlandais.
Elle est destinée à des utilisateurs finaux.
Le but via ce modelform et d'afficher  par exemple un field "Firstname"
dans l'autre langue :"prénom" à l'utilisateur fr et Voornaam  à
l'utilisateur néerlandophone.

Je ne sais pas si je suis clair dans mon explication.

Bav,

Le 26 février 2015 16:56, Rémy Hubscher <hubscher.remy _AT_ gmail.com> a écrit :

> Salut Michael,
>
> La traduction des champs des modèles est un sujet très intéressant.
>
> Pour bien te répondre il faut connaitre la nature de ces données, la/les
> personnes qui vont les saisir (admin / user / traducteur) et comment elles
> vont être affichées.
>
> Est ce que les enregistrement seront tous multilingues ? Ou juste taggués
> avec une langue ?
>
> C'est une réflexion globale sur le type de traduction du système.
>
> Dans mon expérience il est rare d'avoir des items réellement multilingue.
> Pour moi la donnée est dans une langue et on peut lier deux données
> présentant la même information dans différentes langues. Il faut donc
> sauvegarder la langue de la donnée.
>
> Cordialement,
>
> Rémy
> Le 26 févr. 2015 16:48, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a
> écrit :
>
>> Bonjour,
>>
>> J'ai l'habitude de faire les traductions dans les templates, mais pas
>> avec les models.
>> Pourriez-vous me dire comment traduire mes modèles fields?
>>
>> J'utilise les modelform.
>>
>> Ces traductions vont-elle s'ajouter un fichier .po?
>>
>> Merci,
>>
>> Michaël Cornelis
>>
>> _______________________________________________
>> django mailing list
>> django _AT_ lists.afpy.org
>> http://lists.afpy.org/mailman/listinfo/django
>>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#6 26-02-2015 20:34:02

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Model translation

Si très clair, du coup ugettext_lazy est la solution que tu cherches.
Le 26 févr. 2015 17:05, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a écrit
:

> Merci à tous pour cette rapidité.
>
> Concrètement, l'application est développée en anglais.
> Mais traduite en français et néerlandais.
> Elle est destinée à des utilisateurs finaux.
> Le but via ce modelform et d'afficher  par exemple un field "Firstname"
> dans l'autre langue :"prénom" à l'utilisateur fr et Voornaam  à
> l'utilisateur néerlandophone.
>
> Je ne sais pas si je suis clair dans mon explication.
>
> Bav,
>
> Le 26 février 2015 16:56, Rémy Hubscher <hubscher.remy _AT_ gmail.com> a écrit
> :
>
>> Salut Michael,
>>
>> La traduction des champs des modèles est un sujet très intéressant.
>>
>> Pour bien te répondre il faut connaitre la nature de ces données, la/les
>> personnes qui vont les saisir (admin / user / traducteur) et comment elles
>> vont être affichées.
>>
>> Est ce que les enregistrement seront tous multilingues ? Ou juste taggués
>> avec une langue ?
>>
>> C'est une réflexion globale sur le type de traduction du système.
>>
>> Dans mon expérience il est rare d'avoir des items réellement multilingue.
>> Pour moi la donnée est dans une langue et on peut lier deux données
>> présentant la même information dans différentes langues. Il faut donc
>> sauvegarder la langue de la donnée.
>>
>> Cordialement,
>>
>> Rémy
>> Le 26 févr. 2015 16:48, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a
>> écrit :
>>
>>> Bonjour,
>>>
>>> J'ai l'habitude de faire les traductions dans les templates, mais pas
>>> avec les models.
>>> Pourriez-vous me dire comment traduire mes modèles fields?
>>>
>>> J'utilise les modelform.
>>>
>>> Ces traductions vont-elle s'ajouter un fichier .po?
>>>
>>> Merci,
>>>
>>> Michaël Cornelis
>>>
>>> _______________________________________________
>>> django mailing list
>>> django _AT_ lists.afpy.org
>>> http://lists.afpy.org/mailman/listinfo/django
>>>
>>
>> _______________________________________________
>> django mailing list
>> django _AT_ lists.afpy.org
>> http://lists.afpy.org/mailman/listinfo/django
>>
>
>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#7 26-02-2015 23:47:48

miloproject
Membre
Inscription : 10-02-2012
Messages : 10

Re : Model translation

Merci smile
J'ai regardé pour les Django Cong, ça fait loin.
Mais j'espère venir smile

Le 26 février 2015 20:34, Rémy Hubscher <hubscher.remy _AT_ gmail.com> a écrit :

> Si très clair, du coup ugettext_lazy est la solution que tu cherches.
> Le 26 févr. 2015 17:05, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a
> écrit :
>
> Merci à tous pour cette rapidité.
>>
>> Concrètement, l'application est développée en anglais.
>> Mais traduite en français et néerlandais.
>> Elle est destinée à des utilisateurs finaux.
>> Le but via ce modelform et d'afficher  par exemple un field "Firstname"
>> dans l'autre langue :"prénom" à l'utilisateur fr et Voornaam  à
>> l'utilisateur néerlandophone.
>>
>> Je ne sais pas si je suis clair dans mon explication.
>>
>> Bav,
>>
>> Le 26 février 2015 16:56, Rémy Hubscher <hubscher.remy _AT_ gmail.com> a
>> écrit :
>>
>>> Salut Michael,
>>>
>>> La traduction des champs des modèles est un sujet très intéressant.
>>>
>>> Pour bien te répondre il faut connaitre la nature de ces données, la/les
>>> personnes qui vont les saisir (admin / user / traducteur) et comment elles
>>> vont être affichées.
>>>
>>> Est ce que les enregistrement seront tous multilingues ? Ou juste
>>> taggués avec une langue ?
>>>
>>> C'est une réflexion globale sur le type de traduction du système.
>>>
>>> Dans mon expérience il est rare d'avoir des items réellement
>>> multilingue. Pour moi la donnée est dans une langue et on peut lier deux
>>> données présentant la même information dans différentes langues. Il faut
>>> donc sauvegarder la langue de la donnée.
>>>
>>> Cordialement,
>>>
>>> Rémy
>>> Le 26 févr. 2015 16:48, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a
>>> écrit :
>>>
>>>> Bonjour,
>>>>
>>>> J'ai l'habitude de faire les traductions dans les templates, mais pas
>>>> avec les models.
>>>> Pourriez-vous me dire comment traduire mes modèles fields?
>>>>
>>>> J'utilise les modelform.
>>>>
>>>> Ces traductions vont-elle s'ajouter un fichier .po?
>>>>
>>>> Merci,
>>>>
>>>> Michaël Cornelis
>>>>
>>>> _______________________________________________
>>>> django mailing list
>>>> django _AT_ lists.afpy.org
>>>> http://lists.afpy.org/mailman/listinfo/django
>>>>
>>>
>>> _______________________________________________
>>> django mailing list
>>> django _AT_ lists.afpy.org
>>> http://lists.afpy.org/mailman/listinfo/django
>>>
>>
>>
>>
>>
>> _______________________________________________
>> django mailing list
>> django _AT_ lists.afpy.org
>> http://lists.afpy.org/mailman/listinfo/django
>>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#8 27-02-2015 14:09:29

mcornelis
Membre
Inscription : 29-09-2013
Messages : 24

Re : Model translation

Super!

Merci ça fonctionne vraiment bien.

Le 26-02-2015 23:47, Michael Cornelis a écrit :

> Merci smile
> J'ai regardé pour les Django Cong, ça fait loin.
> Mais j'espère venir smile
>
> Le 26 février 2015 20:34, Rémy Hubscher <hubscher.remy _AT_ gmail.com> a écrit :
>
> Si très clair, du coup ugettext_lazy est la solution que tu cherches.
> Le 26 févr. 2015 17:05, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a écrit :
>
> Merci à tous pour cette rapidité.
>
> Concrètement, l'application est développée en anglais. Mais traduite en français et néerlandais. Elle est destinée à des utilisateurs finaux. Le but via ce modelform et d'afficher par exemple un field "Firstname" dans l'autre langue :"prénom" à l'utilisateur fr et Voornaam à l'utilisateur néerlandophone.
>
> Je ne sais pas si je suis clair dans mon explication. Bav,
>
> Le 26 février 2015 16:56, Rémy Hubscher <hubscher.remy _AT_ gmail.com> a écrit :
>
> Salut Michael,
>
> La traduction des champs des modèles est un sujet très intéressant.
>
> Pour bien te répondre il faut connaitre la nature de ces données, la/les personnes qui vont les saisir (admin / user / traducteur) et comment elles vont être affichées.
>
> Est ce que les enregistrement seront tous multilingues ? Ou juste taggués avec une langue ?
>
> C'est une réflexion globale sur le type de traduction du système.
>
> Dans mon expérience il est rare d'avoir des items réellement multilingue. Pour moi la donnée est dans une langue et on peut lier deux données présentant la même information dans différentes langues. Il faut donc sauvegarder la langue de la donnée.
>
> Cordialement,
>
> Rémy
> Le 26 févr. 2015 16:48, "Michael Cornelis" <cornelismchl _AT_ gmail.com> a écrit :
>
> Bonjour,
>
> J'ai l'habitude de faire les traductions dans les templates, mais pas avec les models. Pourriez-vous me dire comment traduire mes modèles fields?
>
> J'utilise les modelform.
>
> Ces traductions vont-elle s'ajouter un fichier .po?
>
> Merci,
>
> Michaël Cornelis _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django [1]
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django [1]

_______________________________________________
django mailing list
django _AT_ lists.afpy.org
http://lists.afpy.org/mailman/listinfo/django [1]
_______________________________________________
django mailing list
django _AT_ lists.afpy.org
http://lists.afpy.org/mailman/listinfo/django [1]

Hors ligne

Pied de page des forums