NEWS
Trial: Weblate für ioBroker Übersetzungen
-
@Asgothian sagte in Trial: Weblate für ioBroker Übersetzungen:
Es fehlt also die Kennzeichnung als "Dieses Wort darf NIE übersetzt werden"
Und genau das ist das Problem, es wurde in der aktuellen Version auf Deutsch übersetzt: https://github.com/ioBroker/ioBroker.zigbee/blob/89f34c8b0d45beb9b959500a29e89ac9052f01ff/admin/i18n/de/translations.json#L80
-
@UncleSam sagte in Trial: Weblate für ioBroker Übersetzungen:
ein Adapter muss zwingend auf Deutsch und Englisch übersetzt sein,
Geht auf gar keinen Fall, es gibt Russische Entwickler die Definitv kein Deutsch Sprechen, bestenfalls Englisch. Das würde auch jedes Internationale Wachstum unmöglich machen.
Wenn dann nur Englisch und jede weitere Sprache ist Optional.@UncleSam sagte in Trial: Weblate für ioBroker Übersetzungen:
Als "Keys" in den Übersetzungen verwenden wir Kurzwörter, nicht Englischen Text (geschweige denn formatiertes HTML!)
Wenn ich mich richtig erinnere gab es mal "data-translate" oder so ähnlich als Attribut, keine Ahnung ob die Spracheinstellung in ioBroker das Berücksichtigt.
-
@Jey-Cee sagte in Trial: Weblate für ioBroker Übersetzungen:
Geht auf gar keinen Fall, es gibt Russische Entwickler die Definitv kein Deutsch Sprechen, bestenfalls Englisch. Das würde auch jedes Internationale Wachstum unmöglich machen.
Ich gebe dir recht, dass es Entwickler gibt, die kein Deutsch können - genau so wie es Entwickler geben wird, die nicht (genügend) gut Englisch können. Dafür ist aber die Community da.
Damit will ich (zumindest im Moment) verhindern, dass deutschsprachige Anwender (die doch ganz klar die Mehrheit bilden) mit schlechten Englisch-Kenntnissen nicht vor den Kopf gestossen werden und aufgeben, weil sie die Beschreibung zum Adapter nicht verstehen - und dann auch keine Fragen stellen können, da sie ja auch kein Englisch schreiben können.
Mein Vorschlag ist, dass man sich an die Community wendet und diese sicher stellt, dass der Adapter in die zwei Sprachen übersetzt ist, bevor er als "stable" raus geht.
Bei den meisten Adaptern ist die Übersetzung in ein paar Minuten erledigt. Ich habe vorhin zum Test die Englische Übersetzung von backitup überarbeitet - in weniger als 15 Minuten.
-
@UncleSam sagte in Trial: Weblate für ioBroker Übersetzungen:
Mein Vorschlag ist, dass man sich an die Community wendet und diese sicher stellt, dass der Adapter in die zwei Sprachen übersetzt ist, bevor er als "stable" raus geht.
Das hat bisher leider nie geklappt, da hatten wir schon 2 oder 3 Anläufe gemacht. Die Beteiligung war gering bis gar nicht.
Auch wenn das immer auf die Komplzierte Technik geschoben wurde bin ich mir ziemlich sicher das es damit wenig zu tun hatte. Wahrscheinlicher ist das es unter 10.000 nur einen gibt der das machen möchte. Das heist 4 Leute auf ioBroker und 300+ Adapter.Also bleibt das am Ende doch am Entwickler hängen. Aber selbst hier kann man schon viel verbessern wenn nicht jede Übersetzung für Buttons oder Beschriftungen die immer wieder gleich sind in jedem Adapter gemacht werden.
Verbesserungsvorschläge:
- Wiederkehrende Elemente im Backend (Admin/Config) global zur Verfügung stellen = einheitliche Übersetzungen und Natürlich Optik (mit Admin 5 sollte das kein Problem sein)
- Häufig verwendete Begriffe/Sätze in globaler Übersetzungsdatei halten, die durch Adapter bei Installation erweitert wird
- keine Worte als Keys sondern eine definierte Buchstaben-Zahlenkombination die Einzigartig ioBroker weit ist. Das Lässt sich leicht Automatisch prüfen und in einem Zentralen tool verwalten, dadurch wird das Pflegen der Übersetzungen nochmal vereinfacht.
- tool (falls mit weblate nicht möglich) das Entwickler dabei Unterstützt vorhandene Übersetzungen zu verwenden statt neue an zu legen.
-
Habe jetzt nicht den ganzen Thread verfolgt.
Ist es vorgesehen, das AutoTranslate auszusetzen, wenn es eine manuell Übersetzung in einer Sprache gibt?
Und klar: Worte die in allen Sprachen nicht übersetzt werden, wie Fachbegriffe oder Namen, sollen müssen irgendwie markiert werden. In der Autoübersetzung der Doku, die Bluefox mit gulp (??) programmiert hat, müssen solche Worte in einfache Hochkommata gesetzt werden.
-
@Jey-Cee sagte in Trial: Weblate für ioBroker Übersetzungen:
keine Worte als Keys sondern eine definierte Buchstaben-Zahlenkombination die Einzigartig ioBroker weit ist
Ich verstehe den Grund hierfür, habe aber die Befürchtung, dass es dann für den Entwickler sehr unübersichtlich wird, wenn die Admin-Seite z.B. so aussieht:
<div class="translate">c0738a93-ea2d-4f43-babb-5e1ca9ed15a2</div> <div class="translate">19ad0c44-0c32-49bc-a573-3c2faa0ad2eb</div> <div class="translate">e22035f2-052c-4ca9-a65c-44a40c516f0b</div>
-
@AlCalzone mag sein das man dann nicht sofort sieht welcher Text da rein kommt, sieht man ja aber mit Kurzwörtern auch nicht. In deinem Beispiel fehlt eigentlich ein sehr Wesentlicher bestand teil, das Attribute id. Damit gewinnt man generell mehr Übersicht.
Btw. ist das schon extrem lang als Key ich Dachte da eher so an 8 Stellen.
-
@Jey-Cee wofür ist die ID nötig?
Alternativ vielleicht eher so?<div class="translate" data-key="abcdefg012345">Platzhaltertext</div>
Der Platzhaltertext könnte dann z.B. wie bisher häufig der Fall mit dem englischen Originaltext übereinstimmen, damit man zumindest eine Orientierung hat.
-
The HTML id attribute is used to specify a unique id for an HTML element.
You cannot have more than one element with the same id in an HTML document.
Ich dachte Anfangs auch eher an so eine Lösung über ein data Attribute. Dann wäre auch der Platzhalter Text möglich. Ist halt nur die Frage geht das jetzt schon oder muss das gebaut werden.
-
@Fenian Danke für dein wertvolles Feedback!
Dafür nicht Mir ist da einfach mal der Kragen geplatzt.
Vor allem wegen der automatischen Übersetzungen, aber eben auch weil das passiert ist, was passieren musste, wenn Entwickler unter sich sind
Es wird alles haarklein diskutiert, aber leider ohne die Seite zu hören, die hinterher übersetzen soll.Und wenn ich jetzt hier so lese wird es eher noch schlimmer.
@Jey-Cee sagte in Trial: Weblate für ioBroker Übersetzungen:
@UncleSam sagte in Trial: Weblate für ioBroker Übersetzungen:
Mein Vorschlag ist, dass man sich an die Community wendet und diese sicher stellt, dass der Adapter in die zwei Sprachen übersetzt ist, bevor er als "stable" raus geht.
Das hat bisher leider nie geklappt, da hatten wir schon 2 oder 3 Anläufe gemacht. Die Beteiligung war gering bis gar nicht.
Auch wenn das immer auf die Komplzierte Technik geschoben wurde bin ich mir ziemlich sicher das es damit wenig zu tun hatte. Wahrscheinlicher ist das es unter 10.000 nur einen gibt der das machen möchte. Das heist 4 Leute auf ioBroker und 300+ Adapter.Ich habe da jetzt nicht nach gesucht, aber irgendwelche Posts im Forum sind da IMHO nicht hilfreich. Das setzt nämlich auch voraus, dass die Leute auch hier im Forum regelmäßig lesen.
Nutzt doch das, was jeder regelmäßig nutzt: Das Backend.
Kurzer Hinweis oben in der Adapter-Übersicht, optimaler Weise in der Benutzersprache und bei den Adaptern noch einen knappen Hinweis auf den jeweiligen Status der Übersetzung inkl. Link auf Weblate oder was auch immer- keine Worte als Keys sondern eine definierte Buchstaben-Zahlenkombination die Einzigartig ioBroker weit ist. Das Lässt sich leicht Automatisch prüfen und in einem Zentralen tool verwalten, dadurch wird das Pflegen der Übersetzungen nochmal vereinfacht.
- tool (falls mit weblate nicht möglich) das Entwickler dabei Unterstützt vorhandene Übersetzungen zu verwenden statt neue an zu legen.
Ich stimme dir größtenteils zu. Viele Dinge kann man global zur Verfügung stellen.
Aber wozu eine Buchstaben-Zahlenkombination die Einzigartig ioBroker weit ist?Ich finde das eher hinderlich für beide Seiten.
Woher sollen die IDs kommen und wie verträgt sich das mit der Wiederverwendung?
Das Attribut ID ist eben eindeutig, wie du selber sagst.The HTML id attribute is used to specify a unique id for an HTML element.
You cannot have more than one element with the same id in an HTML document.
Irgenwelche IDs ohne Aussagekraft wären für mich als Übersetzer ein guter Grund nichts zu übersetzen
@Mic smartcontrol.zip
Das sind nur die geänderten Dateien (genauer gesagt: Ich habe nur die .html geändert)
Verwendet werden:
i18next
i18next-wc für Datum, Zeit,Nummer
loc-i18next um mit html-Selektoren zu arbeiten
i18next-parser für Gulp-Task
Schau dir die geänderte index_m.html an dann wird dir auch schnell klar, wie es funktioniert. -
@Fenian sagte in Trial: Weblate für ioBroker Übersetzungen:
Nutzt doch das, was jeder regelmäßig nutzt: Das Backend.
Die Idee hatte ich schon früher geäußert.
Klar wäre das eine Super Lösung, aber das ist nicht so einfach. Das muss sich so in den Admin integrieren das man es einfach Finden kann und andererseits sollte der Admin nicht Unübersichtlicher werden*.
Und spätestens hier wären wir wieder bei einer Einzigartigen ID um das dann Tracken zu können. Zumindest hätte der Enduser dann keinen Berührungspunkt mehr damit und es spielt keine Rolle.@Fenian sagte in Trial: Weblate für ioBroker Übersetzungen:
Aber wozu eine Buchstaben-Zahlenkombination die Einzigartig ioBroker weit ist?
Als eindeutiges Identifikationsmerkmal der Übersetzung, Einzigartige ID.
@Fenian sagte in Trial: Weblate für ioBroker Übersetzungen:
Das Attribut ID ist eben eindeutig, wie du selber sagst.
Eine id eines HTML Elements kann nur einmal auf einer Seite existieren aber sehr wohl öfter in einem Projekt verwendet werden, die eigenen sich also nicht für diesen Verwendungszweck.
Daher erübrigt sich auch die davor gestellte Frage im Bezug auf das Attribute id.
Die Einzigartige ID müsste von der Übersetzungsverwaltung (Weblate oder was auch immer) erzeugt werden. Hier kann auch geprüft werden ob schon eine Übersetzung zu dem Gewünschten Text vorhanden ist, wenn ja muss man nur die ID verwenden und das wars.Insgesamt hätte das auch den Vorteil das die Übersetzungen unabhängig von Adapter Versionen wären, weil man sie bei jedem Aufruf des Admin von der Übersetzungsverwaltung laden könnte. Hier muss man sich Gedanken machen wie man es am Intelligentesten Umsetzt damit nicht jedesmal der Server angefragt werden muss. (Manuelles Update über einen Button?)
@Fenian sagte in Trial: Weblate für ioBroker Übersetzungen:
Irgenwelche IDs ohne Aussagekraft wären für mich als Übersetzer ein guter Grund nichts zu übersetzen
Versteh ich nicht. Du hast ein Tool dort gibst du deinen Text ein oder die ID das wird gesucht und dann kannst du den Text bearbeiten. Viel einfacher wäre nur die Bearbeitung im Admin direkt.
*Übrerlegung: Rechts Klick -> Menü -> Übersetzung bearbeiten
-
@Jey-Cee sagte in Trial: Weblate für ioBroker Übersetzungen:
Das muss sich so in den Admin integrieren das man es einfach Finden kann und andererseits sollte der Admin nicht Unübersichtlicher werden*.
Können wir nicht mit dem Info-Adapter einmalig ne Meldung bringen?
-
@Jey-Cee sagte in Trial: Weblate für ioBroker Übersetzungen:
Das hat bisher leider nie geklappt, da hatten wir schon 2 oder 3 Anläufe gemacht. Die Beteiligung war gering bis gar nicht.
Ich helfe gerne mit bei:
- Englisch
- Deutsch
- Französisch
Verbesserungsvorschläge:
- Wiederkehrende Elemente im Backend (Admin/Config) global zur Verfügung stellen = einheitliche Übersetzungen und Natürlich Optik (mit Admin 5 sollte das kein Problem sein)
Sehr gute Idee. Würde meines Erachtens schon heute mit "OK" und anderen Texten funktionieren (hab ich aber nicht getestet).
- Häufig verwendete Begriffe/Sätze in globaler Übersetzungsdatei halten, die durch Adapter bei Installation erweitert wird
Weblate bietet ein manuell geführtes Glossar, das kann bei der einheitlichen Übersetzung (insbesondere von Sätzen) sehr helfen. Zudem hat es ein automatisches Translation Memory um gleiche (oder ähnliche?) Texte als Vorschläge anzuzeigen.
- keine Worte als Keys sondern eine definierte Buchstaben-Zahlenkombination die Einzigartig ioBroker weit ist. Das Lässt sich leicht Automatisch prüfen und in einem Zentralen tool verwalten, dadurch wird das Pflegen der Übersetzungen nochmal vereinfacht.
Weblate stellt diese Keys nur "nebenbei" dar (Ausnahme: Englisch), daher ist es aus dieser Sicht irrelevant. Weblate zeigt in erster Linie Englisch und die zu übersetzende Sprache an. Ich würde allerdings eher vorschlagen:
<adapter>.<key>
also z.B.global.password
oderi2c.bus-number
. Die wären etwas sprechend für den Entwickler und doch kurz aber eindeutig.- tool (falls mit weblate nicht möglich) das Entwickler dabei Unterstützt vorhandene Übersetzungen zu verwenden statt neue an zu legen.
Ich bin mir nicht sicher, ob es einfacher ist, wenn der Entwickler vorhandene Übersetzungen suchen muss (mit einem Tool) oder Vorschläge in Weblate mit dem Translation Memory gemacht werden. Ich würde wohl einfach eine Liste der global verfügbaren Strings veröffentlichen (resp. dem Entwickler sagen, wo er die findet) und den Rest im Adapter belassen.
-
@Homoran sagte in Trial: Weblate für ioBroker Übersetzungen:
Ist es vorgesehen, das AutoTranslate auszusetzen, wenn es eine manuell Übersetzung in einer Sprache gibt?
AutoTranslate sollte es meiner Ansicht nach nicht mehr geben. Und wenn doch: das Überschreibt ja nicht manuell eingegebene Texte. Zudem wird Weblate einen nicht in Weblate eingegebenen Text immer als "mit Handlungsbedarf" markieren.
-
@Jey-Cee sagte in Trial: Weblate für ioBroker Übersetzungen:
Übrerlegung: Rechts Klick -> Menü -> Übersetzung bearbeiten
Finde ich eine geniale Idee, selbstverständlich verlinkt auf Weblate. Das ist mit einem Query machbar:
https://weblate.iobroker.net/translate/adapters/<adapter name>/<language>/?q=key%3A<key>
z.B.:https://weblate.iobroker.net/translate/adapters/zigbee/de/?q=key%3ACOM+port+name
-
So, der erste offizielle automatische PR für Übersetzungen ist raus:
https://github.com/ioBroker/ioBroker.zigbee/pull/774Wie ihr daraus sehen könnt, habe ich die Übersetzungen des ioBroker.zigbee Adapters auf Englisch, Deutsch und Französisch aktualisiert und verbessert.
Sobald der Discord Channel "translations" bereit ist, werde ich mit den ersten Benutzern zu testen beginnen. Bereits gemeldet haben sich @Jey-Cee und @Dutchman. Gibt es noch weitere, die in der allerersten Runde mitmachen möchten?
-
Im Admin gibts doch in der Konfig zum Adapter oben rechts ein paar Symbole, z.B. aktuell auch die Hilfe. Man könnte da ja einfach ein weiteres Symbol "Übersetzung verbessern". Wenn das nachher in allen Adaptern so ist, dann finden es die Leute ja auch. Und wenn jemandem was auffällt ist dort auch schnell geklickt.
-
@UncleSam sagte in Trial: Weblate für ioBroker Übersetzungen:
Sobald der Discord Channel "translations" bereit ist, werde ich mit den ersten Benutzern zu testen beginnen. Bereits gemeldet haben sich @Jey-Cee und @Dutchman. Gibt es noch weitere, die in der allerersten Runde mitmachen möchten?
Channel ist ready
-
@AggroRalf sagte in Trial: Weblate für ioBroker Übersetzungen:
Im Admin gibts doch in der Konfig zum Adapter oben rechts ein paar Symbole, z.B. aktuell auch die Hilfe. Man könnte da ja einfach ein weiteres Symbol "Übersetzung verbessern".
Sehr gute Idee !
-
Super Fortschritt, vielen Dank euch und vor allem @UncleSam für die Initiative und Arbeit
Info nebenbei:
Ich bereite gerade nen Adapter auf Latest vor, und will da schon mal automatische Übersetzungen absolut vermeiden (heute erst gesehen bei mir: Column (Tabellenspalte) wurde als "Säule" übersetzt , wie soll sich da der Anwender noch auskennen). Englisch/Deutsch kann ich ja noch verifizieren, aber Russisch, Chinesisch, etc., da bin ich raus.
Daher hab ich jetzt inadmin\i18n\
alles außer en und de rausgeworfen, und die Übersetzungen alle mit dem Frontend ioBroker-i18n-editor.jar (Github-Link) manuell übersetzt und dann mitgulp adminLanguages2words
die words.js aktualisiert. Übrigens super jar-Tool halt auf Basis der alten, jetzt bestehenden Möglichkeiten, aber freue mich schon sehr auf Weblatehttps://adapter-check.iobroker.in/ bringt nun
[E506] More non translated in german or russian words found
als Fehler, wenn in der words.js nur Englisch und in meinem Fall Deutsch ist. Hab daher folgendes Issue aufgemacht:
Please disable/change check for additional languages - [E506] More non translated in german or russian words found #37