[Résolu] traduction inversée

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'ai un site français-anglais où la langue par défaut est le français. Fréquemment lorsque je veux traduire mes textes je me retrouve avec ceci :

Anglais : ma chaîne en français (au lieu d'anglais)
Français : vide pour ajouter traduction en français

ou
Français : ma chaîne en anglais (au lieu de français)
Anglais : vide pour ajouter traduction en anglais

Par exemple pour un type de contenu que j'ai créé avec CCK, lors de la création j'ai mis toutes les étiquettes de mes champs en français, puis je les ai traduites ensuite.

Lors de l'affichage tout est bon sauf pour un champs où Drupal croit que ma chaîne française est une chaîne anglaise...

J'ai également le problème avec la taxonomie, j'ai créé un vocabulaire avec des termes en français avec comme option multilingue "les termes sont identiques mais peuvent être traduits" et là lorsque je veux traduire mes termes, tous les termes français sont considérés comme le texte de référence en anglais.

Comment faire pour corriger ceci, je rencontre régulièrement le cas que ce soit pour des champs cck, de la taxonomie, des views...

Il ne s'agit pas d'un problème en amont car la majorité des champs à traduire fonctionne pour la traduction.

Pour info, lorsque je développe le site (création de type de contenu, taxonomie, views, ...) je reste toujours avec l'interface en français.

Toutes vos suggestions sont les bienvenues.

Merci d'avance

Forum : 
Version de Drupal : 

La langue par défaut de Drupal est toujours l'anglais, même si celle du site est le français. Donc, la chaîne qui sert de base à toutes les trads est l'anglais, et aucune chaîne en français ne devrait apparaître comme "chaîne d'origine".

Si on veut un site multilingue, oui.

Mais tous les éléments ne se traduisent pas de la même façon. Et en principe, il n'y a pas besoin de traduction par défaut pour le contenu.

Bonjour,

Rencontrant le même problème que selinav, je suivais avec intérêt ce fil qui est maintenant marqué comme résolu. Pourtant, je n'ai pas vu de solution au problème posé.

Je ne parviens pas à traduire le nom d'un type de contenu (Forum de suivi) que j'ai créé. J'ai pourtant créé le vocabulaire et l'ai traduit dans taxonomie.
La traduction en anglais apparaît bien dans le formulaire de création de contenu, mais pas sous « Créer un contenu ».

En allant dans Construction du site/Traduire l'interface/Rechercher, je recherche le nom du type de contenu. Mais dans l'un des « Groupes de texte Interface utilisateur », le « Texte original » apparaît en français et il m'est proposé d'ajouter une traduction en français et non en anglais comme pour les autres groupes de texte.

Y-a-t-il quelqu'un pour m'aider à résoudre ce problème ?

J'ai failli tomber folle avec cette traduction, voila ce qui se passe

Anglais : ma chaine en français
Français : à renseigner

Donc je décide donc de changer ma chaîne en français pour obtenir ceci
Anglais : ma chaîne en anglais
Français : à renseigner

Mais non, c'est l'inverse qui se produit!!
Français : ma chaîne en anglais
Anglais : à renseigner !!!

Grrr!
Après le rafraîchissement des chaînes, la mise à jour des chaînes en anglais, rien n'y fait!!
Par contre j'ai remarqué que si j'allais dans ma taxonomie, ou type de contenu et que je ré-enregistrais à l'identique, souvent les choses rentraient dans l'ordre et je pouvais retraduire.

Français : ma chaîne en français
Anglais : à renseigner

Pour View, j'ai vu qu'il existait un module i18n, par contre ce qui est sur c'est qu'il faut les faire en anglais

Je pense que ça déconne pas mal, car j'ai souvent les problèmes, alors je bidouille toujours et j'arrive à mes fins mais pas toujours par des moyens très propres!!
Pas le temps de chercher 3j dessus faut que ça marche.

Tout mes sites multilingues me font galérer, peut être ma procédure n'est pas bonne :
- installation en français
- activation langue anglaise et français (langue par défaut)
- création de mes contenus, taxo, et autres avec interface en français
- traduction en anglais (car elle arrive après par le client :-( )
- arrachage de cheveux!

J'ai mis résolu mais connaitriez-vous une procédure indiquant la marche à suivre à part tout créer en anglais du départ car ce n'est pas forcément possible, traduction anglais indisponibles?

Je redis : pour Drupal, la langue originale est TOUJOURS l'anglais. Le fait de définir le français comme langue par défaut veut seulement dire que si rien n'est précisé (dans le contenu, ou l'URL, ou un cookie, ou du code), on affiche la page en français, c'est tout.

Ceci dit, il est vrai que le système multilingue est compliqué, et qu'il met en œuvre beaucoup de modules, pas tous complètement stabilisés. C'est un vrai boulot, et pour éviter de se perdre, il faut :

  • considérer l'anglais non pas comme une langue parmi d'autres, mais comme la meta-langue servant de base à toutes les autres
  • lire l'abondante documentation sur le sujet, entre autres sur Drupal Planet
  • bien organiser les choses dès la conception du site
  • bien recenser tout ce qui doit être traduit (menus, termes, titres, block, vues, contenus)
  • rechercher quels modules devront être installés, en choisissant une stratégie de traduction (il y en plusieurs) et en s'y tenant
  • faire attention au double emploi : si plusieurs modules sont en charge de traduire un élément, c'est le Drupal Hell garanti

Je pense avoir trouvé la solution. Voici la procédure que j'ai suivie

  1. Administrer/Configuration du site/Langues/ activation langue : anglais (langue par défaut)
  2. Administrer/Gestion du contenu/Types de contenus/Ajouter un type de contenu (avec le terme en anglais)
  3. Administrer/Gestion du contenu/Taxonomie/Ajouter un vocabulaire (avec le terme en anglais) option : « Termes par langue. Des termes différents seront autorisés pour chaque langue et ils peuvent être traduits. »
  4. Administrer/Construction du site\Traduire l'interface/Rechercher (rechercher le terme en anglais)
  5. Traduire le terme dans les différents groupes de textes.

Pour moi, ça marche !