@killroy2
Sorry für die späte Antwort. Mein Wissensstand ist der nachfolgende. Falls etwas nicht stimmen sollte oder nicht funktioniert frag in Telegram nach.
Aus Lesbarkeitsgründen lass ich die englischen Texte so stehen und muss dann wissen den alten Text überall per replace durch den neuen zu ersetzen.
OK, spricht derzeit nichts dagegen, Probleme wirst du ev. bekommen, wenn du WEBLATE (siehe https://github.com/ioBrokerTranslator/doc) einsetzen möchtest, da nach meinem Kenntnisstand das Ändern eines Keys in weblate nicht möglich ist sondern einen neuen Text bedeutet.
Neue Texte muss ich dann auch im admin/i18n/en/translatons.json händisch anlegen, richtig?
Neue Texte musst du eigentlich immer in en/translations.json eintragen. Das translation system parst sicher nicht html, react oder js code um potenzielle Texte zu finden.
Was wird alles übersetzet -wie funktioniert die Logik etwas Übersetzungsrelevantes zu finden?
npm run translate nimmt en/translations.json als source (zumindest defaultmäßig). Alle Keys die NICHT in den anderssprachigen Dateien enthalten sind werden mittels Google übersetzt in in die andren xx/translation.json eingefügt. Je nach Optionen die du bei npm run translate angegeben hast wird anschließend der Inhalt aller xx/translations.json in das words.js gemerged und words.js damit neu erstellt.
Beschreibung siehe https://github.com/ioBroker/adapter-dev#manage-translations.
npm run translate all macht lt. Beschreibugn Folgendes:
Calls translate and afterwards updates words.js using to-words followed by to-json.
Wenn du eine neuerliche Übersetzung von keys haben willst die schon in den anderssprachigen translations.json enthalten sind, dann musst du diese keys in den anderssprachigen Dateien (manuell) löschen. Sinn ist offensichtlich, dass nicht be jeder Änderung korrekturen an z.B. den deutschen Texten wieder vernichtet werden. Alternativ kan nst du die Brachialmethode anwenden und alle xx/tranbslations != en löschen. Das bedeutet aber einen Totalreset und wenn jemand z.B. unsinnigen Text korriogiert hat, dann geht das verloren. Mit WEBLATE ist diese Methode eher inkompatibel.
Übrigends: Wenn du einen Key im englischen translations.json löscht so wird dieser Key meines Wissens nach (zumindest derzeit) nicht in den anderssprachigen translations.json gelöscht - außer du setzet WEBLATE ein, hier werde verwaiste Texte entfernt.
Was mache ich mit Texten die Formatierungen enthalten, zB Hyperlinks. So mit in translations.json angeben?
Da muss ich passen. Versuch als erstes Mal was translate.google.com damit anstellt. Ansonsten kann ich dir hier nicht helfen - Ausprobieren ist sicher einen Versuch Wert. Alternativ trenn zu übersetzende Texte und fixe links in 2 (od. 3) elemente - die müssen ja nicht durch den translator gehen.
Hoffe ich konnte ein wenig helfen.
McM