Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Gulp ist kein Hexenwerk - Auto translation

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Gulp ist kein Hexenwerk - Auto translation

    This topic has been deleted. Only users with topic management privileges can see it.
    • ldittmar
      ldittmar Developer last edited by

      Hallo Allerseits,

      ich möchte mal kurz Werbung für gulp machen, denn wir haben es inzwischen so weit perfektioniert, dass alle Übersetzungen automatisch generiert werden. Ihr müsst also nur noch das englische Wort hinzufügen, gulp starten und schon habt ihr alle Übersetzungen in der words.js drin. Was muss man dafür tun?

      In der package.json müssen "gulp": "^4.0.0" und "axios": "^0.18.0" hinzugefügt werden:

        "dependencies": {
          ...
        },
        "devDependencies": {
          ...
          "gulp": "^4.0.0",    
          "axios": "^0.18.0"
        },
        "main": "main.js",
      

      Dann eure alte gulpfile.js durch diese ersetzen: https://raw.githubusercontent.com/iobro … ulpfile.js

      Und im Ordner lib, diese Datei hinzufügen: https://raw.githubusercontent.com/iobro ... b/tools.js

      Wenn ihr jetzt auf der console: npm install eingibt, wird gulp installiert und der Spaß kann beginnen...

      Achtung! Damit die nächsten Schritte funktionieren, muss die words.js entweder im Ordner admin oder unter admin/js sein...

      Dieser Schritt muss nur ein einziges Mal ausgeführt werden: Auf der console gebt ihr "gulp adminWords2languages" -> das führt dazu, dass ein Ordner i18n unter admin erstellt wird. Dort befinden sich die Übersetzungen in alle möglichen Sprachen. Wenn jetzt ein neues Wort dazu kommt, muss dieser NUR in der Datei i18n/en/translations.json hinzugefügt werden, alles andere macht gulp.

      Ab jetzt müsst ihr also immer nur die Datei i18n/en/translations.json pflegen und wenn ihr fertig seid, auf der console "gulp translateAndUpdateWordsJS" eingeben. Dadurch werden alle Wörter in der i18n/en/translations.json in den anderen Sprachen übersetzt und schließlich in die words.js übernommen.

      gulp translateAndUpdateWordsJS übersetzt auch die io-package news, titleLang und desc. Dafür müsst ihr in der io-package nur der englische Text angeben und alles andere macht gulp für euch.

      Sooo…. Dann probiert es mal aus und wenn noch Fragen sind, dann einfach melden.

      Nachtrag: Wenn man zu oft übersetzen lässt, weigert sich dann Google und bringt ein Fehler 503. Man muss dann halt eine Zeit warten, dann geht alles wieder.

      Nachtrag 2: Da man bei größere Übersetzungen mit Google Probleme bekommt, habe ich den kostenlosen Yandex Übersetzer 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
      

      Grüße,

      ldittmar

      1 Reply Last reply Reply Quote 5
      • Stuebi
        Stuebi last edited by

        sehr cool! Ich habe es gerade einmal mit dem https://github.com/schmupu/ioBroker.asterisk Adapter getestet. Funktioniert wunderbar!

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          Ich finde es auch genial und benutze es sehr gern!

          Sent from my iPhone using Tapatalk

          1 Reply Last reply Reply Quote 0
          • ldittmar
            ldittmar Developer last edited by

            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"

            1 Reply Last reply Reply Quote 0
            • UncleSam
              UncleSam Developer last edited by

              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

              Jey Cee 1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                Sieht interessant aus, der Preis leider nicht 😕

                Sent from my iPhone using Tapatalk

                UncleSam 1 Reply Last reply Reply Quote 0
                • UncleSam
                  UncleSam Developer @Dutchman last edited by

                  @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.

                  Dutchman 1 Reply Last reply Reply Quote 0
                  • Dutchman
                    Dutchman Developer Most Active Administrators @UncleSam last edited by

                    @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

                    1 Reply Last reply Reply Quote 0
                    • UncleSam
                      UncleSam Developer last edited by

                      @ldittmar : wie siehst du das? Wäre das eine Option für das ioBroker Team?

                      1 Reply Last reply Reply Quote 0
                      • Jey Cee
                        Jey Cee Developer @UncleSam last edited by

                        @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?

                        1 Reply Last reply Reply Quote 0
                        • UncleSam
                          UncleSam Developer last edited by

                          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.

                          1 Reply Last reply Reply Quote 0
                          • ldittmar
                            ldittmar Developer last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • UncleSam
                              UncleSam Developer last edited by

                              @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.

                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                Ich habe jetzt die Zugangsdaten für neuen Server an stabilostick Gegeben.

                                1 Reply Last reply Reply Quote 1
                                • jackblackson
                                  jackblackson last edited by

                                  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?

                                  Bluefox 1 Reply Last reply Reply Quote 0
                                  • Bluefox
                                    Bluefox @jackblackson last edited by

                                    @jackblackson noch manuell "npm i gulp-cli -g" aufrufen.

                                    1 Reply Last reply Reply Quote 0
                                    • jackblackson
                                      jackblackson last edited by jackblackson

                                      @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:
                                      127a1f75-4847-4d03-94f5-f3b981350c01-grafik.png
                                      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..

                                      Bluefox 1 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox @jackblackson last edited by

                                        @jackblackson Bitte Node 8 verwenden

                                        jackblackson 1 Reply Last reply Reply Quote 1
                                        • jackblackson
                                          jackblackson @Bluefox last edited by

                                          @Bluefox Danke, das hat geholfen!

                                          1 Reply Last reply Reply Quote 0
                                          • s.bormann
                                            s.bormann Most Active last edited by

                                            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.

                                            translations.zip

                                            Vielen Dank!

                                            Mic 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            495
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            26
                                            2847
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo