NEWS
jsonConfig.json - selectSendTo und Übersetzungen
-
Hallo Zusammen,
es geht mir zwar nicht um sendTo - aber um die Übersetzungen - ich steige gerade für einen einfachen Adapter auf jsonConfig um und habe aktuell noch die i18n Dateien im Admin.im jsonConfig habe ich ein Feld:
"poll_time": { "type": "number", "label": { "en": "Poll-Time in Seconds (min. 30 seconds)" }, "min": 30, "step": 1, "xs": 12, "sm": 12, "md": 12, "lg": 6, "xl": 6, "newLine": true },
Wie wird nun die Übersetzung angestoßen?
Vielen Dank!
-
@skb said in jsonConfig.json - selectSendTo und Übersetzungen:
Hallo Zusammen,
es geht mir zwar nicht um sendTo - aber um die Übersetzungen - ich steige gerade für einen einfachen Adapter auf jsonConfig um und habe aktuell noch die i18n Dateien im Admin.im jsonConfig habe ich ein Feld:
"poll_time": { "type": "number", "label": { "en": "Poll-Time in Seconds (min. 30 seconds)" }, "min": 30, "step": 1, "xs": 12, "sm": 12, "md": 12, "lg": 6, "xl": 6, "newLine": true },
Wie wird nun die Übersetzung angestoßen?
Vielen Dank!
Die Texte sollten primär in den i18n Dateien verwendet werden. Das ist der bevorzugte Platz. Optimaler Weise finden sich alle Übersetzungen in admin/i18n/[sprache]/translation.json oder in admin/i18n[sprache].json
Übersetzungen können - wenn es sein muss - auch direkt in der jsonConfig stehen. Persönlich rate ich dvon aber ab.
Texte die direkt in der jsonConfig stehen müssen manuell überstzt werden. GgF. mit hilde des translators.
Texte die in den i18n Dateien stehen können mittels npm run translate (adapter-dev) übersetzt werden. Weiters können Texte die in i18n Dateien stehen in Weblate eingebunden werden. Dadurch können diese unabhängig von Programmierkenntnissen und Zugriff auf das Repo von Personen übersetzt werden die die Sparche gut / muttersprachlich sprechen.
Ergo:
Wenn du die Texte eh schon in i18n Dateien hast, dass lass sie doch dort!P.S. Da die Verwendung von i18n Dateien der empfohlene Weg ist bekommst du bei direkten Übersetzungen in jsonConfig.json jedenfalls eine (permante) Warnung der Repo Checkers.
Ev. liegt auch nur ein Missverständnis vor. i18n Files werden mittels i18n attribute aktiviert. Anschließend bei Labe nur den Key (meist den englischen Text) angeben und KEIN Objekt.
"i18n": true, : : "poll_time": { "type": "number", "label": "Poll-Time in Seconds (min. 30 seconds)" "min": 30, "step": 1, "xs": 12, "sm": 12, "md": 12, "lg": 6, "xl": 6, "newLine": true },
Und noch eine Info:
Fragen zur Entwicklung bekommst du im allgemeinen rascher in unseren Telegrammkanälen (gespiegelt zu Discord) beantwortet. Invite Links auf www.iobroker.dev). Hier im Forum gehen Entwickelrfragen in der Menge der Postings gener unter. -
@skb sagte in jsonConfig.json - selectSendTo und Übersetzungen:
Wie wird nun die Übersetzung angestoßen?
Normalerweise haben die Projekte schon die Adapter-Dev-Tools als Abhängigkeit. Falls nicht:
npm i -D @iobroker/adapter-dev
Und dann gibt es in der package.json unter
scripts
den Eintrag"translate": "translate-adapter",
Das heißt, dass Du einfach mit
npm run translate
alle Englischen Texte aus der jsonConfig automatisch übersetzen lassen kannst.Siehe auch https://www.youtube.com/watch?v=A9UETXyAmL4
-
@haus-automatisierung said in jsonConfig.json - selectSendTo und Übersetzungen:
@skb sagte in jsonConfig.json - selectSendTo und Übersetzungen:
Wie wird nun die Übersetzung angestoßen?
Normalerweise haben die Projekte schon die Adapter-Dev-Tools als Abhängigkeit. Falls nicht:
npm i -D @iobroker/adapter-dev
Und dann gibt es in der package.json unter
scripts
den Eintrag"translate": "translate-adapter",
Das heißt, dass Du einfach mit
npm run translate
alle Englischen Texte aus der jsonConfig automatisch übersetzen lassen kannst.Siehe auch https://www.youtube.com/watch?v=A9UETXyAmL4
Ja - das betrifft aber die i18n Dateien !
@skb hat in den obigen Beispiel aber ein translation Object drinnen. Das müsste er manuell editieren. Daher auch mein Hinweis doch bitte die i18n Dateien zu verwenden und NICHT direkt in jsonConfig Übersetzungen einzutragen wenn es dazu keinen besonderen Grund gibt.
Mir wäre neu, dass adapter-dev / npm run translate jsonConfig files bearbeitet. -
@mcm1957 Genau das war das Thema
Also, ich habe nun nur den englischen Platzhalter im jsonConfig drin und oben:
"i18n": true
welches das Zauberwort war -
@mcm1957 sagte in jsonConfig.json - selectSendTo und Übersetzungen:
Mir wäre neu, dass adapter-dev / npm run translate jsonConfig files bearbeitet.
Macht es auch nicht. Habe die kompletten Schritte im Video ja ausführlich erläutert.
Glaube das ist einfacher zu verstehen, als in Textform alles zu erklären -
@skb
Na ja - das englische i18n File musst du schon anlegenWenn du von words.js kommst, kann aber auch npm run translate diese Migration machen. Schau bitte in die Doku zu adapter-dev. https://github.com/ioBroker/adapter-dev#iobroker-adapter-dev
Und noch was:
Wenn du beim Entwickeln was änderst mach beim dev-server nachher ein upload. Ich hab im Hinetrkopf dass die i18b Dateien nicht automatisch geuploaded werden.Anbindung an weblate kannst du hier "bestellen" (- sorry, hab tw. längere Lieferzeiten -)
https://github.com/ioBrokerTranslator/requests wenn du magst -
@haus-automatisierung said in jsonConfig.json - selectSendTo und Übersetzungen:
Macht es auch nicht. Habe die kompletten Schritte im Video ja ausführlich erläutert.
Glaube das ist einfacher zu verstehen, als in Textform alles zu erklärenDANKE für deine unermüdliche Unterstützung.
-
@mcm1957 Die Dateien habe ich ja von vorher noch - habe, wie gesagt, nur oben im jsonConfig angegeben, das i18n true ist und schon klappts
Danke Euch!
-
Noch eine Frage - betrifft nun nicht die Übersetzung, aber das Schema.
Darf ein Feld nicht den Namen "email" haben? Dann hätte ich ein kleines Problemchen, weils in der Config aktuell so vorhanden ist.Erledigt - waren "falsche" Properties gesetzt