Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traductions spécifiques aux modèles #362

Closed
Sbgodin opened this issue Mar 14, 2014 · 44 comments
Closed

Traductions spécifiques aux modèles #362

Sbgodin opened this issue Mar 14, 2014 · 44 comments

Comments

@Sbgodin
Copy link
Member

Sbgodin commented Mar 14, 2014

Actuellement, les traductions sont -- hors greffons -- partagées entre tous les greffons et pour la traduction. Si ce n'est pas contraignant pour l'installation, cela peut gêner le développement des modèles (templates).

Chaque modèle reprenant à son compte l'affichage de Leed, il peut y avoir des traductions en trop pour un modèle ou même des termes traduits différemment. Les clés des termes ne sont pas associées à un modèle en particulier, aussi on ne saurait pas lesquelles sont obsolètes.

Je suggère de cloisonner les traductions entre thèmes et traductions. Les fichiers de traductions seraient contenus à l'intérieur du répertoire de chaque thème, idem pour l'installation. Le code gérant les traductions serait mis à jour.
Probablement, le greffon de traduction devra être adapté lui aussi pour chercher la traduction selon les modèles.

@tmos
Copy link

tmos commented Mar 14, 2014

Je me dévoue pour les tests dans greeder :)

@cobalt74
Copy link
Collaborator

Nice ! A mettre pour la v1.7 je pense pour que l'on puisse régler ça rapidement.

Que veux tu dire par : idem pour l'installation ?

Le plugin i18n fait une recherche de toutes les traductions contenues dans le code.
Il faudrait qu'il recherche les trad du code et du thème en cours d'utilisation.

@Sbgodin Sbgodin added this to the Version 1.7 milestone Mar 17, 2014
@Sbgodin
Copy link
Member Author

Sbgodin commented Mar 17, 2014

Ok pour la v1.7. L'installation n'est spécifique à aucun template, j'aurais donc tendance à isoler les traductions. Cependant, on pourrait fort bien placer les traductions dans marigolds.

@cobalt74
Copy link
Collaborator

c'est exactement à quoi je pensais. ça permet aux personnes d'avoir un exemple. 😉

@cobalt74
Copy link
Collaborator

@Sbgodin je peux prendre cette partie ? si tu n'as pas déjà commencé ;)

@Sbgodin
Copy link
Member Author

Sbgodin commented Mar 27, 2014

Fais-toi plaisir, le temps me manque un peu ces jours-ci.

@cobalt74
Copy link
Collaborator

@tmos @Simounet @misterair, cette MAJ va modifier l'affichage des thèmes car le répertoire locale avec les langues sera inclus dans le répertoire de chaque thèmes.
Je ne connais pas tous les interlocuteurs qui ont fait des thèmes donc si vous avez d'autres nom 😉

cobalt74 added a commit that referenced this issue Mar 27, 2014
…sent effectuer une complète personnalisation multi langue.

#362
@ghost
Copy link

ghost commented Mar 27, 2014

Merci de prévenir ;-)

@cobalt74
Copy link
Collaborator

pour info : @qwertygc, @fran6t

@cobalt74 cobalt74 assigned cobalt74 and unassigned Sbgodin Mar 28, 2014
@tmos
Copy link

tmos commented May 21, 2014

Du coup ça se présente comment pour nous ? On doit créer quoi comme fichiers particuliers @cobalt74 ?

@tmos
Copy link

tmos commented May 21, 2014

Doublon avec #374 ?

@cobalt74
Copy link
Collaborator

le 374, c'est le pull request. @ldleman est ce que tu peux valider ce changement ?

@tmos
Copy link

tmos commented Jun 22, 2014

@ldleman tu nous entends ?
C'est pas pour insisiter, mais on attends ça avec impatience nous :D

@ldleman
Copy link
Collaborator

ldleman commented Jun 24, 2014

Je regarde tout ça demain à l'heure du café promis :), ma chérie me harcèle la tout de suite (pour des choses triviales du genre dormir ou manger, toutes les mêmes...)

@tmos
Copy link

tmos commented Jun 24, 2014

@cobalt74, comment ça se passe, on a un achievement et notre nom dans le readme quant on arrive a le faire réagir ?

@ldleman
Copy link
Collaborator

ldleman commented Jun 25, 2014

@cobalt74 Je valide, vous pouvez merger :)
@tmos Tu sera privé de melonade !

@tmos
Copy link

tmos commented Jun 25, 2014

@ldleman je sais pas si c'est une punition ou une récompense tu sais :D
Merci pour la validation de merge l'ami !

@cobalt74
Copy link
Collaborator

Ohhh super ;)
@Sbgodin le spécialiste du merge est en forme en ce moment :D

@cobalt74
Copy link
Collaborator

par contre, il faudra surement revoir car je l'ai fais historiquement pour marigolds 1er du nom

@tmos
Copy link

tmos commented Jul 10, 2014

Vous pourrez faire un petit résumé sur la démarche à suivre ?

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 10, 2014

Il faut que je remette le nez dans la branche LangueInTemplate, pour commencer ^^ Je peaufine et soumet le résultat.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 10, 2014

Okay, c'est vu. Donc, voici le plan. Je confirme l'idée première de ce ticket. Nous aurons des fichiers de traduction spécifiques à chaque thème (template) et à l'installeur. Ce dernier sera sous peu (cf intégration à Younohost #395) capable de sélectionner un thème à l'installation, et il n'est pas exclu que certaines distributions n'incluent pas le thème par défaut. Alors, autant avoir de la traduction spécifique à l'installation plutôt que dépendant d'un thème particulier.

Je vous propose le processus suivant :

  1. @Sbgodin modifie l'internationalisation (i18n) et recopie toutes les traductions dans l'installeur et marigoldsOld.
  2. @tmos adapte/teste Greeder en recopiant aussi toutes les traductions.
  3. @cobalt74 adapte le greffon i18n en veillant à ce que nous puissions facilement combler d'éventuels manques et supprimer les traductions inutiles.

Recopier toutes les traductions permet de se concentrer sur l'essentiel avant d'avoir le greffon de traduction opérationnel. Ce dernier pourra s'appuyer sur toutes les traductions copiées. Nous élaguerons après avec le greffon de traduction.

Si ça vous va, je (re)créerai une branche idle/newTrans sur laquelle il faudra se baser pour ces travaux-là, et ceux-là seulement. Toute autre modification (correction de bug, traduction, etc.) devra se faire sur la branche de développement. Je maintiens la branche idle/newTrans et nous tous validons chacun sur sa branche newTrans. À chaque étape clé, je valide la fusion et tout le monde fusionne en retour, si besoin est.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 10, 2014

C'est fait de mon côté. J'ai crée idle/newTrans et y ait reporté les modifications. Ça marche avec les thèmes par défaut Marigolds et MarigoldsOld. Évidemment, il y a des traductions inutiles à foison maintenant et le greffon de traduction est planté, comme attendu.

@cobalt74 : tu peux adapter ton greffon.
@tmos : tu peux adapter Greeder. Sauf erreur, il te suffira de recopier les traductions depuis Marigolds.

Une fois le greffon réparé, je rectifierai les traductions des deux Marigolds et idem pour @tmos de son côté. Si tout va bien, je fusionnerai idle/newTrans dans idle/dev :-)

S'il est nécessaire de modifier idle/newTrans, vous devrez diverger de votre côté et faire une requête de fusion afin de ne pas vous marcher dessus. Idem de mon côté.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 21, 2014

🔨 @cobalt74 @tmos

@cobalt74
Copy link
Collaborator

Salut,
L'adapter est un bien grand mot, c'est compliqué car tu as changé bcp de chose :D
Le plugin scan le code pour trouver les traductions manquantes / obsolètes / faites.
Du coup avec la séparation au thème, ok ça ne changeait pas => Analyse de tout le code mais du coup avec l'histoire de la séparation de la traduction pour install, je ne sais pas comment gérer le truc...

Quelques questions du coup pour me remettre dans le bains.

  • qu'appel t-on l'installeur ? est ce que c'est uniquement le fichier install.php ?
  • De plus pour une trad de thème, je pense qu'il faut que je scan tout le code excepté le code des autres thèmes. OK?

@cobalt74
Copy link
Collaborator

Pour préciser mes premiers propos.

toutes les traductions ./install/locale/... correspondent à toutes les tags qui ne sont pas dans
./template et ./plugins
chaque traduction de thèmes et de plugins sont séparées.

je vais proposer une solution avec les fichiers de traductions mis à jour avec le plugin.
@Sbgodin je te laisse avoir le 2nd oeil pour vérifier.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 22, 2014

L'installeur comprend le fichier install.php et le répertoire install lui-même. Le fichier php ne contient pas de texte, les traductions de l'installeur sont dans install/locale. Sauf erreur, hors l'installeur, il n'y a pas de traduction hors des thèmes. Dans chacun d'eux, les traductions sont dans locale.

Je suppose/propose que les traductions spécifiques à un thème ne soient utilisées que dans le thème. C'est-à-dire qu'on peut copier/coller, mais pas dire qu'un thème utilise la traduction d'un autre thème. Ceci pour permettre la distribution de Leed avec un seul thème, voire sans la partie d'installation si c'est empaqueté autrement.

Pour le scan de thème, je suppose qu'il suffirait de chercher dans chaque thème sauf le répertoire locale. L'installeur est à part, effectivement puisqu'il y a un fichier tout seul. Peut-être faudrait-il déplacer install.php dans install pour faciliter le fonctionnement de la traduction. Que penses-tu de ces dernières remarques ?

@cobalt74
Copy link
Collaborator

tu as des traductions dans action.php et surement dans d'autres fichiers de base.
donc non liés aux thèmes mais bien à l'install de base.

@cobalt74
Copy link
Collaborator

deux maj :

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 22, 2014

Effectivement, il y a au minimum le cas de action.php. Cela signifie alors qu'il existe un ensemble commun de traductions à prendre en compte par tous les thèmes.

Bon boulot dans Leed ^^ Dans i18n, la ligne is_writable('./locale') déclenche un message d'erreur car il n'y a plus de répertoire locale à la racine de Leed.
Je n'ai pas vu l'option pour chercher les traductions obsolètes et excédentaires. C'est où ?

@cobalt74
Copy link
Collaborator

Les traductions obsolètes et excédentaires, c'est uniquement si tu as le cas lors du chargement du fichier, il te fait le distinguo.

Pour le is_writable, effectivement, je vais changer ça de suite.

@cobalt74
Copy link
Collaborator

voilà. ça devrait corriger. Si tu veux tester les traductions obsolètes et excédentaires, met à jour le plugin en gardant les anciennes traductions complètes. Je crois que dans la trad espagnole, il manque 3 traductions

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 22, 2014

Je confirme pour l'espagnol et les trois traductions. Je pense qu'on peut fusionner tout ça côté Leed. Il reste des modifications qu'on pourra faire ensuite. Par exemple, je songe à incorporer install.php dans le répertoire install ; à vue de nez, ça n'impacte pas le greffon.
Je pense aussi qu'il faudrait affiner les traductions dans le greffon de traduction ;-) Gestion des fichiers de langues de Leed devrait être Gestion des fichiers de l'installeur de Leed, à moins que quelque chose m'échappe. Mais ça peut être fait plus tard.

Donc, @cobalt74 ok pour la fusion côté Leed ?
@tmos, quand j'aurais fait la fusion, il faudra adapter Greader. Principalement en déplaçant locale dans le thème et en le dégraissant des traductions excédentaires.

@cobalt74
Copy link
Collaborator

Pour moi c'est OK. J'ai l'impression de ne rien avoir cassé.
Pour la trad de l'installation du coup, c'est pas que l'installation ( fichier install ) donc j'ai généralisé aux textes de Leed qui ne sont donc pas modifiables par thèmes. ( message d'install, techniques, synchro, ... )

a noter que pour la langue anglaise j'ai eu un soucis avec le plugin. Des antislash doublé dans un champs date qui casse l'enregistrement car a l'affichage, je n'affiche qu'un antislash sur les 2 présents dans le fichier d'origine. On règle le problème en ajoutant a la main les deux antislash nécessaire avant enregistrement mais il faut y penser !

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 23, 2014

Bien vu ! Il n'y a pas que l'installeur. Pour les antislash, j'avais remarqué et corrigé la traduction à la main il y a quelques temps.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 23, 2014

J'ai fusionné :-) Mais du coup, mon idée n'est pas optimale. Sauf erreur encore, il y a un fichier de traduction pour chaque thème, un autre pour le reste. Mais les traductions pour l'installeur et pour le reste sont mélangées et se trouvent dans install/...

Que penses-tu de remettre un local à la racine pour contenir le reste tandis que l'installeur conserve ses traductions ?

@cobalt74
Copy link
Collaborator

J'aime bien découper mais ça fait un peu trop ! Non!? L'avantage de notre découpage c'est qu'il y a une traduction Leed qu'on doit maintenir. Et des traductions thèmes séparées.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 23, 2014

Ça me va aussi. Mais du coup, on renomme le répertoire install contenant toutes les autres traductions en répertoire locale comme avant ?

@cobalt74
Copy link
Collaborator

on peut, mais faut que je modifie le plugin lol ^^ tiens moi au jus.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 23, 2014

C'est fait. État des lieux des traductions :

  • Traductions de chaque greffon, dans le répertoire /plugins/$GREFFON/locale
  • Traductions de chaque thème, dans le répertoire /plugins/$TEMPLATE/locale
  • Les autres traductions, dont celles communes à tous et celles de l'installeur, dans /locale

Il n'y a plus qu'à modifier le greffon i18n et c'est bon.

@cobalt74
Copy link
Collaborator

C'est fait aussi. A tester.

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 23, 2014

C'est bon pour moi. On se laisse quelques jours de tests, et on peut clore ce ticket \o/

@Sbgodin
Copy link
Member Author

Sbgodin commented Jul 25, 2014

Okay. Tout baigne :-) Je ferme le ticket. Merci @cobalt74 !
@tmos, Greeder devrait quand même marcher, mais il faudra copier les traductions depuis 081c2b1, dernière validation avec l'ancien système de traduction, dans /templates/greeder/locale/ et ajouter/enlever les traductions à l'aide du greffon i18n.

@Sbgodin Sbgodin closed this as completed Jul 25, 2014
@tmos
Copy link

tmos commented Jul 26, 2014

Merci pour les explications, je m'en occupe bientôt :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants