Github action pour traduire vos plugins 🌐

si tu mets des {{}} dans le html tu auras la traduction enregistrĂ©e avec le path vers le .html (et c’est ce que @Xav-74 a dĂ©jĂ )

l’exemple que tu montres ne correspond pas Ă  son cas j’ai l’impression => comment as-tu codĂ© ta traduction? si tu appelles __(xxx, __FILE__) dans ton .php, ca sera le path dans le .json.

OK, c’était mon erreur, dans toHTML j’avais mis des {{}}.

$replace['#actions#'] = $replace['#actions#'] . '<i class="fas fa-camera iconActionOff' . $this->getId() . '" title="'. __("Créer une capture", __FILE__) .'" onclick="execAction(' . $make_snapshot->getId() . ')"></i>';

Comme ceci plus de problĂšme.
Merci

@Mips

Example for fr_FR glossary:

{
    "en_US": {
        "commande": "command",
        "type": "type",
        "piĂšce": "room"
    }
}

la casse est important apparemment. peut ĂȘtre ajouter les mĂȘmes mots avec majuscules !?

c’est vrai que ca fait bizarre :slight_smile:
image

non la casse ne l’est pas, en tout cas pas d’aprùs mes tests
edit: tout comme les accords (singulier/pluriel masculin/féminin)

je parie plutĂŽt que tu as gardĂ© use_core_translations Ă  true et qu’il y a une coquille dans une traduction du core

je pense que jeedom a quelque part un moyen de corriger ça mais j’ignore exactement comment;
@Loic doit-on fixer directement le .json ou c’est dans un tool de votre cotĂ© lorsque votre pote Jenkins passe?

Bonjour
Je comprends pas de quoi on parle la

De traductions erronées dans le core
Le cas typique du « type Â» traduit en « kind Â» cf ma capture qui vient d’une recherche sur le core.

Comment faites-vous pour forcer une traduction, ici forcer « Type Â» en anglais.
A la main en corrigeant les json de traductions ou autre outil, une espĂšce de dictionnaire maison que vous auriez? (Supposition)

Bonjour
Oui on a un site web pour gĂ©rer les traductions mais je pense plus personne ne va dessus pour le faire. A la prochaine rĂ©union que j’ai avec jeedom je vais essayer de m’en rappeler et de leur remonter

Je connais un super plugin pour pas oublier des trucs :grin:

3 « J'aime »

une que tu n’as peut ĂȘtre pas @Mips dans fr_FR glossary: et qui peut ĂȘtre utile !?

"Port": "Harbor",

:slight_smile:

5 « J'aime »

le repo est publique, tu peux faire un pr :wink:

2 messages ont été scindés en un nouveau sujet : Traduction des fichiers dans le dossier /3rdparty

7 messages ont été scindés en un nouveau sujet : Traduction des champs « usage » ou « utilization »

16 messages ont été scindés en un nouveau sujet : JSONDecodeError: Expecting value: line 1 column 1

Bonjour,

je me suis permi de lire les traductions en Allemand du plugin de Noyax37. C’est malheureusement carrĂ©ment pas aussi bon que ce Ă  quoi je m’attendais de la part de Deepl !

Une base anglaise donnerait de meilleurs résultat ?
Est-il possible de corriger manuellement ? J’imagine que le PR est Ă©ditable


Je me pose ces questions car ma prochaine étape est de faire traduire mes plugins. Comme ça je sais évaluer environ la charge que ça représentera.

J’ai hñte de tester !

A+
Michel

  • Je rappelle que j’ai prĂ©vu un systĂšme de glossaire (voir dernier paragraphe): GitHub - Mips2648/plugins-translations (qui créé un glossaires sur deepl bien entendu)
    ca permet d’éviter certaines traduction hors contexte; genre « vrai Â» => « real Â» ou « action Â» => « share Â» (bourse) 

    Je n’ai pas de connaissance en allemand donc pas de contenu mais ce glossaire peut probablement aider (PR bienvenu pour ceux qui ont des nouveaux cas à traiter)
  • dans la version 1.20 de l’api (le workflow tourne actuellement sur la 1.18) ils ont ajoutĂ© un « model_type Â» qui peut prendre les valeurs suivantes: « quality_optimized Â», « prefer_quality_optimized Â», « latency_optimized Â»;
    j’ignore quel modĂšle est actif par dĂ©faut mais ca vaudrait peut-ĂȘtre la peine de passer sur « quality_optimized Â» vu que le dĂ©lai on s’en fiche un peu et voir si ca amĂ©liore vraiment.
2 « J'aime »

Dans le README, j’ai pas compris le truc de la branche translations

Ca veut dire qu’il faut merger la branche translations avant de faire d’autres commit pour Ă©viter que les traductions ne soient re-faites via deepl sans tenir compte du dernier run, c’est ça ?
(ça semble logique, mais je ne suis pas sĂ»r
 dĂ©solĂ©)

oui c’est ca

la source va ĂȘtre ta branche dev ou beta par exemple, il fait le boulot, créé une branche « translation Â», commit les changements et fait un PR
donc si tu valides jamais le PR, la source ne sera jamais mise Ă  jour et donc il refait tout le boulot

1 « J'aime »

Super, une fois qu’on a tout compris (enfin presque :wink: ) c’est super facile. Je butais sur la traduction du template mais j’ai vu ta rĂ©ponse lĂ 

c’est top. Merci

Juste un petit conseil pour ceux qui suivront (s’ils le lisent), j’avais beaucoup de texte Ă  traduire prĂ©sentĂ©s comme ça

{{ blablabla }}

Le texte Ă  traduire Ă©tait bien " blablabla " mais le texte traduit Ă©tait " blublublu", le dernier espace Ă©tait supprimĂ©. En soit cela ne pose pas de problĂšme sauf si vous avez du texte qui arrive derriĂšre et pour lequel il faut laisser un espace sinon les mots sont collĂ©s. J’ai donc mis les espaces en dehors des accolades et lĂ  il n’y a plus de problĂšme.

1 « J'aime »

Me suis aussi fait avoir avec ça :wink:

Je ne connais pas le principe des workflows de github mais ne serait il pas possible de ne lancer l’action que d’une façon manuelle et pas automatique? Sinon il faut supprimer le fichier yml et le recrĂ©er Ă  chaque fois?

Petite question pendant que j’y suis, si on veut traduire un texte comme ça par exemple:

'blablabla ' . $truc . ' machin chouette'

Peut on faire ça:

__('blablabla ' . $truc . ' machin chouette', __FILE__)

ou doit on faire ça:

__('blablabla', __FILE__) . '  ' . $truc . __(' machin chouette', __FILE__)

?

DeuxiĂšme choix

Mais les traductions peuvent ĂȘtre approximatives car il n’y a pas de contexte liĂ© entre les deux parties de la phrase, s’il est possible il faudrait rephraser pour mettre la variable Ă  la fin.

1 « J'aime »