Passage de flambeau

3615 je recherche un padawan

a marqué ce sujet comme résolu.

Ça ne devrait pas être dans la documentation back ça ?

Django implique MVC et cette division en module (plutot en app mais bon, c'est aussi a ca que le "savoir collectif" sert :D) , donc non ca devrait pas etre entierement dans la doc. Mais si tu veux le rajouter hesite pas :)

Et je ne peux que plussoyer Spacefox et je ne l'ai pas dit dans mes MP : ZdS est un gros projet, c'est pourquoi il y a des process un peu chiant a respecter, on ne peut pas s'amuser a faire n'importe quoi n'importe comment :) (Pour tout vous dire certaines contraintes sont pires que dans certaines entreprises, mais pourtant on arrive aussi a avoir de meilleurs resultats sur plusieurs points :D )
Pas de chance aussi, ZdS est communautaire et democratique, ce qui fait que meme si vous avez l'idee du siecle il faudra passser par une phase de discussion avec les autres ;) (ce qui permet aussi de debusquer les eventuels points bloquants, tout le monde y gagne :) )

+3 -0

On m'a fait remarquer que le fonctionnement de l'internationalisation (le fait de rendre les chaines visible a la traduction) etait un peu obscure sur le site. Voici un petit point a ce sujet…

Tout d'abord, l'internationalisation passe par la génération d'un fichier contenant toute les chaines a etre traduite (via Transifex). Ce fichier est souvent etre mis a jour a chaque mise en production, mais pour l'instant ce n'est pas fait (car il faut que l'on mette a jour le script de mise en production, bref…). Ce dernier point ne concerne pas vraiment les devs, plutot l'admin sys. Par contre les devs doivent eux mettre des marqueurs dans le code pour que le script trouvent bien toutes les chaines a traduire.

Pour cela il faut distinguer deux choses, les templates et le back.

Les templates

Dans les templates il y a deux marqueurs pour indiquer un bout de texte a traduire :

  • {% trans "bout-de-texte-a-traduire" %} (attention, seule le texte est a changer, les guillemets sont utiles ici !). Cette methode est a utiliser pour les texte simples.
  • Dans le cas ou le texte a traduire contient des guillemets ou des balises html, on utilisera blocktrans :
1
2
3
{% blocktrans %}
<strong>mon texte "bizarre"</strong>
{% endblocktrans %}

On peut aussi y passer des variables avec "with" car on ne peut pas acceder a {{ }} comme normalement.

Dans le back

Dans le back c'est simple il n'existe qu'une methode : _(). En fait, l'underscore est juste unse sorte d'alias pour le module ugettext : from django.utils.translation import ugettext as _

Du coup en exemple de chaine traduite serait : _(u'Le profil a correctement été mis à jour.')


Voila brievement pour les traductions !

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte