Nouvel outil de traduction

[quote=« Bubu, id: 935946, post:20, topic:90265 »]Timbear a écrit :

Bon, va falloir que je retrouve le mode d'emploi, ça a changé? 

Oui ![/quote]
En fait, j’avais pas bien lu le début du sujet… Pas bien!

J’ai testé votre « nouveau » joujou de traduction. C’est nettement mieux qu’avant. On peut plus facilement faire un petit bout et reprendre. Et puis, on arrive pas à arrêter :o , tu cliques sur « Next item » et la trad suivante s’affiche, un vrai bagne :wink: !
J’ai signé par mes initiales (vs) dans les commentaires, c’est bien ou pas? Histoire de voir s’y j’ai déjà passé par là. (Le pire c’est de corriger ses propres traductions!)

C’est possible de mettre un bouton « Previous item »? Parfois, il y a des traductions similaires qui se suivent. Donc juste pouvoir aller à la précédente faire un copier-coller avant de commencer ça peut être pas mal.

Autre truc, des fois cela serait pas mal d’avoir le contexte, savoir où ça se trouve sur le site? Quel est le moyen le plus simple d’y parvenir?

Bon, avec cet outil, je vais me remettre à la tâche gentiment.

Pour la chaîne précédente, utiliser la fonction page précédente / page suivante du navigateur marche assez bien

Ce n’est pas le plus facile, voir même difficile. Le mieux c’est d’utiliser le commentaire général. Sinon, il faut essayer de rechercher la chaîne dans le code source (éventuellement avec google : « site:dev.camptocamp.org motclef »). Pas toujours évident. Reste la solution de poser la question, généralement il y aura assez rapidement quelqu’un pour répondre, ensuite, penser à reporter l’info dans le commentaire du site de traduction pour les autres.

Et l’inverse, on voit une bourde sur le site? Il faut passer par le code source aussi? ou y’a mieux?

Dans un sens comme dans l’autre, je pense que le plus efficace c’est surement de poster un message dans la discussion « nouvelles chaines à traduire ».

Le mieux c’est demander, parce que si tu arrives à trouver la chaine dans le code d’après la trad dans le HTML, c’est que tu connais super bien le code sans jamais y avoir touché, et alors là on te débauche de la traduction pour faire du code à la place :lol:

Ah non, ce n’est pas bien.
Déjà, ton nom est automatiquement associé à la modif, donc inutil de l’ajouter. Quand tu arrives sur une trad, si tu veux vraiment savoir si tu es déjà passé par là, regarde l’historique en bas de page.
Mais le plus simple, lorsqu’un item est traduit, tu coches « translated » et c’est bon. Si tu n’es pas sur de la traduction et que tu comptes y revenir, tu coches « need review ». Comme ça, pour pourra retrouver facilement tout les need review en DE (dans le menu de gauche).
Les commentaires sont plus là pour les infos pérennes : définition de la chaine en commentaire général, explication du choix des mots dans les trad (du style « normalement c’est traduit comme ça, mais là on risque de confondre avec ça, alors on a mis ça »).

Pas évident de définir ‹ précédent ›.
En effet, quand tu accèdes à une chaîne, tu as un ‹ filtre de langue et de statut › associé avec. Par exemple si tu cliques sur « German > Strings that need update » le « next item » correspond en fait à la prochaine chaîne dont le statut en allemand est ‹ needs_update › (L’ordre correspondant à l’ordre alphabétique des msgids). Si tu es arrivé par un autre lien, le filtre sera différent (ou ne sera pas)

Mais alors c’est quoi l’item précédent ? Parce que si tu on se place dans le premier cas, tu traduis la chaîne, tu passes de ‹ needs_update › à ‹ translated ›, tu vas à la chaîne suivante. Et là, l achaîne que tu viens de traduire n’est plus dans les critères du filtre. Pas que ça soit impossible techniquement de retourner sur la chaîne précédente, mais est-ce que ça a un sens ? Du coup j’ai rien mis
(Sinon comme dit Bubu, le bouton prec du navigateur est alors utile)

J’ai vu que tu avais passé des strings de needs_update à needs_translation. Souvent il vaut mieux laissé en needs_update. En effet, si le statut est needs_translation, on remplace la traduction par une d’une autre langue (par exemple pour l’allemand, on va regarder si celle anglaise est disponible, et sinon celle en français). Pour tous les autres statuts, on utilise la traduction. Dans les cas de needs_update, la traduction est à mettre à jour, mais elle est dans la langue et souvent son sens n’est pas si mauvais : il vaut mieux avoir celle-là qu’une traduction (pas forcément plus à jour) dans une autre langue.

Je ne suis pas d’accord avec Bubu. Dans ce sens, c’est plus facile et accessible même sans rien piger au code. Sisi. Dans le site de traduction, il y a un lien « Repository /i18n ». Si tu cliques dessus, tu es amené sur le site de développement, au niveau des fichiers de traduction. Tu sélectionnes alors le bon fichier de langue, tu recherches la traduction qui est incorrecte sur le site de test, par exemple ‹ c2c c’est fromidable ›. Et normalement, tu retrouves le msgid qui correspond à cette traduction. Dans l’interface de traduction, il suffit de rentrer ce msgid dans le champ de recherche en haut à gauche, et tu arrives au bon endroit.
Pas immédiat donc, mais quand même plus simple que dans l’autre sens !

remarque : pour des raisons techniques (j’ai voulu faire c2ci18n sur google appengine, qui est bien cool sous plein d’aspects, mais qui permet très peu de choses avec la base de données), je ne peux pas implémenter une case ou on taperait la chaîne fautive pour retrouver le msgid

(et c’est pour le même genre de raisons techniques que pour l’autocomplétion des msgids (en haut du menu de gauche), il faut absolument taper le début du msgid, et pas un morceau quelconque du msgid)

c’est dingue tout le boulot que vous faites, les développeurs! Merci!

Oui, je l’ai fait pour les longues chaînes où la traduction n’est pas complète, du style « il manque la moitié », où que la traduction est vraiment à revoir. Enfin, il me semble que c’est la philosophie que je m’était donné.

Perso, je pense que c’est mieux de mettre une bonne traduction en anglais qu’un truc qui ne veut rien dire en allemand, ou qui est pas très juste en allemand.

Je prend le prend aussi dans ce sens:
needs_translation = urgent ou important (c’est pas cool maintenant, y’en a trop)
needs_update = à faire
Le reste à l’occas.

En tout cas, je le redis l’outil est bien mieux et bien plus pratique qu’avant.

en fait :
needs_translation : faut traduire, on va utiliser la trad d’une autre langue en attendant. C’est du coup aussi le plus ‹ urgent › :stuck_out_tongue:
needs_update : la chaîne a un peu changé de sens / a été complétée. Il faut la mettre à jour, mais ce qu’on a c’est mieux que rien
needs_review : y’a une traduction, mais on n’est pas trop sur, ça peut sans doute être amélioré, etc…
translated : yabon

J’ai repassé quelques chaînes de needs_translation à needs_update car je pense que la diff par rapport à la string à jour n’est pas fondamentale (ie la chaîne traduite en l’état remplie encore bien son rôle)
Mais c’est évidemment ubjectif, si tu pene qu’il vaut mieux utiliser la traduction en anglais, tu peux les changer a nouveau

(merci pour l’outil, c’était un peu le but car à mon sens on se retrouvait un peu dans une impasse avec des fichiers monstrueux à ne plus savoir ce qui était à traduire ou non, et des gros problèmes de mises à jour entre les versions etc…)

Comme le dit xbrrr, needs_update signifie qu’il faut mettre la chaine à jour, mais que celle existante est potable.
Par exemple hier, j’ai modifié le titre de la page « liste des sommets », pour mettre « liste des sommets, cols, lacs, falaises ». J’ai donc modifié la trad FR, et mis en needs_update toutes les autres langues. Mais en attendant que la trad soit faite, on peut utiliser les trad existantes : ce n’est pas très gênant, vu que c’est ce qui existait juste avant.

Par contre si je modifie une chaine en changeant complètement le sens, là je mettrai les trad en needs_translation.

Pour indiquer « à faire », c’est needs_translation uniquement, il n’y a pas d’indication d’importance.

[quote=« gottferdom, id: 935967, post:22, topic:90265 »]

Pour la chaîne précédente, utiliser la fonction page précédente / page suivante du navigateur marche assez bien[/quote]

Effectivement, ça marche bien.

Par contre, si c’est pas trop compliqué un petit bouton « Sauver et suivant » tout en un ça permettrait de gagner un peu de temps.
Au train où ça va, il y a encore pour 5-6 soir de boulot.

Oui.
Surtout que tu arrives à la fin des « Y », tu te dis que c’est bientôt fini…
Et non, ya les _qqch :smiley:
Bon ceux là, il y en a des longs (c’est l’aide contextuelle), tu peux les faire à la fin.
Tu te dis que c’est fini…
Et non, on recommence au début de l’alphabet, mais en minuscule cette fois-ci :smiley:

En tut cas super boulot, merci !

[quote=« Bubu, id: 936834, post:34, topic:90265 »]

Oui.
Surtout que tu arrives à la fin des « Y », tu te dis que c’est bientôt fini…
Et non, ya les _qqch :smiley:
Bon ceux là, il y en a des longs (c’est l’aide contextuelle), tu peux les faire à la fin.
Tu te dis que c’est fini…
Et non, on recommence au début de l’alphabet, mais en minuscule cette fois-ci :smiley:

En tut cas super boulot, merci ![/quote]

J’ai vu le truc, je me posait des questions hier. Mais j’ai compté avec le %age. Environ 5% ce soir.
A+

ɹɹɹqx l’avait fait au début, mais il y avait des problèmes d’ajax (en tout cas chez moi), donc il était revenu à cette solution moins rapide, mais qui avait le mérite de ne jamais poser de problème. À voir avec lui.

Lors de la modif d’une traduction, attention à ne pas insérer de retour ligne dans le texte ou à la fin du texte. ce n’est pas accepté, et ça fait planter la mise à jour.

Hum je pense mais pas sur que ça gère en milieu de texte, mais que ça aime moins en fin de texte. Je me rappelle avoir traité le sujet à un moment, mais je sais plus trop si j’avais tout testé etc

C’était des retours ligne en fin de chaine.

  1. Pour les \n en fin de chaîne, je vais les supprimer systématiquement (je vois pas de cas où ça serait quelque chose de volontaire) Je pourrais mettre un warning dans le po, mais je crois pas que quiconque s’amusera à le chercher donc…

Les \n en milieu de chaîne sont traités simplement : par exemple pour le msgid ‹ plop ›, si la traduction est ‹ plop\nplip ›, on aura dans le po:

msgid "plop" msgstr "plop\n" "plip"
Ce qui a pour but de rendre le truc plus lisible. C’est une syntaxe valide

  1. Je rajouterai un bouton ‹ Save & Next ›

  2. Je vais mettre des liens explicites vers les flux rss par langue