NEWS
Gulp ist kein Hexenwerk - Auto translation
-
Hallo allerseits,
um das Problem mit der Anzahl der Übersetzungen mit Google zu umgehen, habe ich in der neueste Version der gulpfile (Date: 2019-01-28) den yandex translator eingebaut. Um Yandex nutzen zu können braucht man eine API Key (https://translate.yandex.com/developers) und kann diese für die Übersetzung nutzen mit "gulp translateAndUpdateWordsJS –yandex MEINEAPIKEYHIEREINGEBEN"
-
Hallo ldittmar
Übersetzungen sind ein schwieriges Thema. Bis jetzt müssen wir Adapter Entwickler mit Google/Yandex übersetzen und dann "native speaker" im GIT Korrekturen per PR einbringen. Bei meinem aktuellen Arbeitgeber sind wir von einem teilweise manuellen Prozess (mit Excel-Listen!) auf https://weblate.org/en/ umgestiegen.
Die Installation und Konfiguration war innert wenigen Stunden erledigt und nun können wir alle Übersetzungen in einem Online Tool pflegen - wenn nötig auch mit externen Übersetzern. Wir sind schon nach wenigen Wochen begeistert - der Prozess benötigt keine manuellen Schritte mehr für die Entwickler!
Wäre das nicht ein interessantes Tool für all die Übersetzungen von Adaptern? Es liesse sich auch jeder Adapter mit seinem eigenen GitHub Repo einbinden (sofern die entsprechenden Autoren einverstanden sind).
Wenn das Interesse vorhanden ist, kann ich auch noch etwas detaillierter über das Tool berichten und euch bei der Inbetriebnahme / Integration helfen.
/UncleSam
-
Sieht interessant aus, der Preis leider nicht
Sent from my iPhone using Tapatalk
-
@Dutchman Der Preis ist nur, wenn man es nicht selber hostet.
Es ist Open Source und wie gesagt innert kürzester Zeit eingerichtet. Ich gehe davon aus, dass ioBroker schon eine gewisse Server Infrastruktur (respektive Cloud Infrastruktur) hat, damit würde der Preis aus meiner Sicht 0 € betragen.
-
@UncleSam said in Gulp ist kein Hexenwerk - Auto translation:
@Dutchman Der Preis ist nur, wenn man es nicht selber hostet.
Es ist Open Source und wie gesagt innert kürzester Zeit eingerichtet. Ich gehe davon aus, dass ioBroker schon eine gewisse Server Infrastruktur (respektive Cloud Infrastruktur) hat, damit würde der Preis aus meiner Sicht 0 € betragen.
Danke! Das habe ich falsch verstanden nochmal geschaut und Sinn hosting plans
-
@ldittmar : wie siehst du das? Wäre das eine Option für das ioBroker Team?
-
@UncleSam äußerst interessant, ist halt nur die Frage wie aufwändig ist die Administration und Einrichtung von Weblate.
Was mich noch interessiert wie kommen die Übersetzungen nach ioBroker bzw. in die Adapter?
-
Die Einrichtung ist keine grosse Sache; ein Aufwand besteht natürlich pro GIT Repo, das man anhängen will (für uns: pro Adapter).
Weblate nimmt die Übersetzungen direkt aus dem GIT und kann sie auch wieder ins GIT zurückspielen. Für GitHub gibt es die Möglichkeit über Pull Requests: https://docs.weblate.org/en/latest/vcs.html#github Damit muss Weblate nicht einmal spezielle Rechte für ein Repository haben.
Wie gesagt bin ich gerne bereit, bei der Umsetzung zu helfen und würde das auch einfach mal mit einem meiner Adapter testen, bevor wir das "ausrollen" würden. Ich will nur nicht für mich eine "Insellösung" erarbeiten, wenn wir gleich eine Lösung für (fast) alle bauen können.
-
Cool wäre sowas durchaus. Die automatische Übersetzungen sind schon eine Hilfe, aber "not the yellow from the egg" - wenn jemand sowas aufsetzen kann, bin ich dabei.
-
@Bluefox Was ist deine Meinung zu Weblate? Wäre es möglich auf der ioBroker Server Infrastruktur noch einen Service für Weblate aufzusetzen? Weblate läuft am einfachsten als Docker Compose (zumindest aus meiner Sicht), falls du schon einen Server mit Docker hast, wäre das in kürzester Zeit aufgesetzt.
-
Ich habe jetzt die Zugangsdaten für neuen Server an stabilostick Gegeben.
-
Irgendwie steh ich auf dem Schlauch..ich hab wie oben erwähnt das package.json angepasst, dann das gulpfile sowie das tools file eingefügt, und danach im root ordner npm install laufen lassen - es hat den ordner npm modules erzeugt. Wenn ich danach "gulp adminWords2languages" im terminal eingebe, dann bekomme ich nur "gulp: command not found"...hat hier jemand eine Idee?
-
@jackblackson noch manuell "npm i gulp-cli -g" aufrufen.
-
@Bluefox danke..hab ich gemacht, nun bekomme ich zwar eine andere Meldung, aber ist immer noch nicht sehr schön...words.js Datei besteht, und ich hab auch grad nochmal die gulp datei abgeglichen:
Sagt dir das was?Kann das an der gulp Version liegen? Wenn ich die Module aus dem npm-modules ordner lösche und dann npm install mache, installiert er mir gulp 4.0.2..obwohl im package.json 4.0.0 drinnen ist..
-
@jackblackson Bitte Node 8 verwenden
-
@Bluefox Danke, das hat geholfen!
-
Hi,
bei mir läuft die Übersetzung irgendwie nicht mehr richtig. Habe jetzt schon echt viel probiert, aber komme nicht weiter.Was problemlos klappt, ist die Übersetzung von io-package.json.
Aber neue Wörter in den i18n-Dateien im admin-Ordner werden nicht mehr übersetzt:
Ich habe neue Übersetzungen in den translations.json für deutsch und englisch eingefügt. Wenn ich dann gulp drüberlaufen lasse, werden in den anderen Sprachen für die entsprechenden Begriffe immer nur zwei Anführungszeichen eingefügt, nicht die Übersetzung.Habe mit viel Mühe alle leeren Übersetzungen wieder gelöscht und alles noch mal neu probiert - gleiches Ergebnis. Mit google und mit Yandex.
Kann mir jemand helfen?
Anbei meine i18n-Dateien.
Vielen Dank!
-
@s-bormann sagte in Gulp ist kein Hexenwerk - Auto translation:
werden in den anderen Sprachen für die entsprechenden Begriffe immer nur zwei Anführungszeichen eingefügt, nicht die Übersetzung.
Gib uns mal ein konkretes Beispiel. Ich habe kurz deine spanische translations.json angesehen, da sind keine leeren Übersetzungen mit
""
. -
@Mic Richtig, ich habe die Dateien alle von Hand "bereinigt", weil ich dachte, so das Problem lösen zu können. Nach einem erneuten Durchlauf von gulp sieht das dann so aus (Datei gekürzt, aber die letzten beiden Zeilen zeigen das Problem):
{ "%s is directory. Only file upload allowed.": "% s es el directorio. ", "(Default)": "(Defecto)", "(None)": "(Ninguna)", "(before sending a state a confirmation-box is showed)": "(antes de enviar un estado se muestra un cuadro de confirmación)", "(before sending a state you have to enter this code)": "(antes de enviar un estado, debe ingresar este código)", "(if you have different data points for the actual and the target value)": "(si tiene diferentes puntos de datos para el valor real y el valor objetivo)", "(overwrites common.role property)": "(sobrescribe la propiedad common.role)", "(overwrites common.type property)": "(sobrescribe la propiedad common.type)", "(this is only supported for booleans and for numbers with defined min and max)": "(esto solo se admite para booleanos y para números con mínimo y máximo definidos)", "(this is only supported for numbers)": "(esto solo es compatible con números)", "A 'Linked View' can be opened by a simple click at the following roles": "Una 'Vista vinculada' se puede abrir con un simple clic en los siguientes roles", "Acknowledged": "Reconoció", "Active Background Color:": "Activo - Color de fondo:", "Active Background-Color:": "Activo - Color de fondo:", "Active Devices - Background-Color:": "Dispositivos activos - Color de fondo:", "Active Devices - Background-Opacity:": "Dispositivos activos - Opacidad de fondo:", "Active Devices - Background:": "Dispositivos activos - Antecedentes:", "Active Devices - Overlay-Color:": "Dispositivos activos - Superposición de color:", "Active Devices - Overlay-Opacity:": "Dispositivos activos - Overlay-Opacity:", "Active Devices - Overlay:": "Dispositivos activos - Superposición:", "Active Devices, Hover - Background-Color:": "", "Active Devices, Hover - Background-Opacity:": "", ...
Die vollständige Datei kann hier angesehen werden: https://github.com/sbormann/ioBroker.iqontrol/blob/master/admin/i18n/es/translations.json
Gibt es eine Art "Verbose"-Mode bei Gulp?
-
@s-bormann
Ok, in deinem zip-Beispiel steht z.B. inen\translations.json
drin:"add": "add", "and": "and", "black": "black", "bottom": "bottom", "closed": "closed", "iqontrol adapter settings": "Adapter settings for iqontrol", "is only available for": "is only available for", "left": "left", "opened": "opened", "right": "right", "tilted": "tilted", "top": "top", "white": "white"
Zip-Beispiel
es\translations.json
"add": "añadir", "and": "y", "black": "negro", "bottom": "fondo", "iqontrol adapter settings": "Ajustes del adaptador para iqontrol", "is only available for": "solo esta disponible para", "left": "izquierda", "right": "Correcto", "top": "parte superior", "white": "blanco" }
Z.B. "closed" fehlt also.
Ich lasse laufen:
gulp translateAndUpdateWordsJS
Ergebnis: closed wird übersetzt und hinzugefügt:
Kann es also nicht nachvollziehen.