NEWS
Texte, Beschreibungen und Übersetzungen in ioBroker
-
Hallo zusammen,
ich muss anfangs direkt eingestehen, dass ich mich bis dato recht selten an Diskussionen im Forum beteiligt habe. Dies würde ich gerne, je nach Zeit und Möglichkeit, in Zukunft ändern.
In den letzten Wochen ist mir beim Lesen immer wieder aufgefallen, dass es viele Diskussionen hinsichtlich der Einsteigerfreundlichkeit von ioBroker gegeben hat. Die Dokumentation, an der Homoran wohl sehr aktiv zugange ist, ist dabei einer der Diskussionspunkte gewesen. Darüber hinaus gibt es aber auch immer wieder Andeutungen, dass ioBroker im Vergleich zu alternativen Projekten ein wenig den Charme eines Bastlerprojekts inne hat. Das an sich ist ja auch kein Problem, denn man muss sich immer wieder vor Augen führen, dass das, was hier entstanden ist, das Ergebnis vieler, vieler unbezahlter Freizeitstunden von Leuten - allen voran BlueFox - ist, die fast allein durch ihren Enthusiasmus getrieben werden und dass potentielle Anwender kostenlos (!!) ein aus meiner Sicht schon sehr ausgereiftes Produkt erhalten. Aber zurück zum Punkt der Einsteigerfreundlichkeit: neben einer Dokumentation, durch die eine Software einen etwas ausgereifteren Charakter (neben der Stabilität natürlich) erhält, zählt aus meiner Sicht auch eine konsequente Linie bei der "inneren" Darstellung:
Als Output des letzten Homematic-Treffens hatte ich wahrgenommen, dass Bluefox zusammen mit einer Agentur daran gearbeitet hat, dass bspw. Logos und Bilder innerhalb von ioBroker einen etwas einheitlicheren Look bekommen? Wie aber sieht es mit textuellen Aspekten aus?
Ein Beispiel:
Wenn ich mir die Liste der Adapter (im ioBroker) und insbesondere deren Beschreibung anschaue, dann sehe ich eine recht bunte Mischung zwischen deutschen und englischen Texten mit entweder einer klaren Beschreibung oder nur Stichwörtern. Für uns, die eben die Technik lieben und die sich um den Einsteiger-Aspekt erstmal keine Gedanken machen, reicht das vollkommen aus. Jemanden, der komplett neu bei ioBroker ist, könnte das allerdings abschrecken.
Gibt es irgendeine Idee, wie sich Texte und auch Übersetzungen ggf. zentralisieren lassen und somit eine Art der Qualitäts- oder Konformitätsprüfung ermöglichen? Wichtig noch: es geht dabei ja nicht um Bevormundung oder Kontrolle, sondern lediglich um einen zentralen Anlaufpunkt für eine gewisse Einheitlichkeit. Bei den Übersetzungen ließe sich ja unter Umständen auch unterscheiden zwischen wiederkehrenden Elementen (beispielhaft "ja", "nein", "aktiviert", "Instanz", "URL" oder "Adresse" uvvm.) und rein adapter-spezifischen Elementen (beispielhaft "App-Key", "Entprellzeit (ms)"), so dass man als Adapter-Entwickler auf bestehende Elemente aufsetzen und darüber hinaus natürlich auch eigene verwenden könnte?
Lange Rede, recht kurzer Sinn: aus meiner Sicht gibt es hier noch ein wenig "Optimierungspotential" und ich würde mich, sofern überhaupt Bedarf besteht, auch sehr gerne mit einbringen … selbstverständlich neben anderen Punkten wo ich unterstützend tätig werden kann.
VG
Bastian
-
Hi Bastian,
da hast Du ein wichtiges Thema getroffen
Für die Texte die Du hier ansprichst sind am Ende die einzelnen Adapter-Entwickler zuständig. Auch aus diesem Grund gibt es aktuell noch keinen echten "roten Faden" und auch noch keine Regeln.
Aus Erfahrung weiss ich aber auch das so eine Vereinheitlichung sinnvoll ist und es am Ende zum Besseren für das Projekt ist.
0
Adapter-Texte stehen faktisch in den "io-package.json" Dateien und den "admin/*.html"-Files drin. Das einfachste um dich einzubringen wäre einfach die Deiner Meinugn nach sinnvollen und ggf. nötigen Änderungen einfach bei den Projekten als Pull-Request einzureichen. Das geschieht auch schon teilweise (ykoenig z.B. hat sich schon einiger Standard-Adapter angenommen und schaut die Admin-Texte durch, aber auch hier sehen mehr Augen einfach mehr
)
Also am Ende auf Github forken, Ändern und als Pull-Request einreichen. Im Normallfall sind Coder die sich gern auf die Logik konzentrieren immer sehr dankbar für solche Unterstützung
Ingo F
-
Hallo Bastian und Danke für diese Zusammenfassung.
Wir sind gerade dabei die Website zu überarbeiten, aber bei den Adaptern und er WebUI (=Admin-Adapter) besteht da mit sicherheit auch noch Bedarf.
Danke für diesen Hinweis.
dann sehe ich eine recht bunte Mischung zwischen deutschen und englischen Texten mit entweder einer klaren Beschreibung oder nur Stichwörtern. `
Meinst du jetzt direkt im Admin oder die readme.md auf GitHub?Gibt es irgendeine Idee, wie sich Texte und auch Übersetzungen ggf. zentralisieren lassen und somit eine Art der Qualitäts- oder Konformitätsprüfung ermöglichen? `
Teil 1: Da arbeiten wir gerade dran; Teil 2 hätte ich keine Ahnung - vielleicht @Bluefox. Eine vergleichbare Prüfung in technischer Sicht hat apollon77 bereits angestoßen.Bei den Übersetzungen ließe sich ja unter Umständen auch unterscheiden zwischen wiederkehrenden Elementen (beispielhaft "ja", "nein", "aktiviert", "Instanz", "URL" oder "Adresse" uvvm.) und rein adapter-spezifischen Elementen (beispielhaft "App-Key", "Entprellzeit (ms)"), so dass man als Adapter-Entwickler auf bestehende Elemente aufsetzen und darüber hinaus natürlich auch eigene verwenden könnte? `
Es gibt verschiedene Übersetzungstabellen. Inwieweit diese aus den Adaptern heraus ine EINE globale Übersetzungstabelle überführt werden könnten müsste auch @Bluefox wissen/entscheiden, könnte aber machbar sein.
aus meiner Sicht gibt es hier noch ein wenig "Optimierungspotential" `
eher etwas mehrich würde mich, sofern überhaupt Bedarf besteht, auch sehr gerne mit einbringen `
Da kommen wir gerne drauf zurück - per PN.Gruß
Rainer
PS Ingo hat schneller getippt
Aber zusammen ergibt das wohl das komplette Bild.
-
dann sehe ich eine recht bunte Mischung zwischen deutschen und englischen Texten mit entweder einer klaren Beschreibung oder nur Stichwörtern.
Meinst du jetzt direkt im Admin oder die readme.md auf GitHub?
Ich meinte schon direkt die Admin-UI: GitHub und jeweiligen readme.md lasse ich mal außen vor, denn wer sich zu GitHub verirrt, der hat es immer mit der technischen Sicht zutun!
Bei den Übersetzungen ließe sich ja unter Umständen auch unterscheiden zwischen wiederkehrenden Elementen (beispielhaft "ja", "nein", "aktiviert", "Instanz", "URL" oder "Adresse" uvvm.) und rein adapter-spezifischen Elementen (beispielhaft "App-Key", "Entprellzeit (ms)"), so dass man als Adapter-Entwickler auf bestehende Elemente aufsetzen und darüber hinaus natürlich auch eigene verwenden könnte? `
Es gibt verschiedene Übersetzungstabellen. Inwieweit diese aus den Adaptern heraus ine EINE globale Übersetzungstabelle überführt werden könnten müsste auch @Bluefox wissen/entscheiden, könnte aber machbar sein. `
Genau das war die Idee hinter meiner Eingebung. Natürlich kann ich die Übersetzung für ein "ja" 24-mal durch Adapter mitgeben lassen, aber ich könnte sich auch in Form einer zentralen Tabelle/Struktur für alle zur Verfügung stellen.
Also am Ende auf Github forken, Ändern und als Pull-Request einreichen. Im Normallfall sind Coder die sich gern auf die Logik konzentrieren immer sehr dankbar für solche Unterstützung
`
Die Variante hatte ich zuerst im Blick, wollte aber nicht dreist sein und einfach irgendwem irgendwas per Pull Request korrigieren (und Inhalte sind ja was anderes als bspw. Bugs) … und es deshalb erstmal zur Diskussion stellen 8-) Außerdem graut es mir davor, so viele Forks erstellen zu müsse :lol:
-
GitHub und jeweiligen readme.md lasse ich mal außen vor, denn wer sich zu GitHub verirrt, der hat es immer mit der technischen Sicht zutun!
`
Da wiederspreche ich ein bissl. DIe Idee ist das die Github.-Seite durchaus eine User-Doku des Adapters ist … Sie ist ja im Normalfall auch in der Adapterliste beim "Fragezeichen" verlinkt. Ob das bei allen Github-Seite "schön" und wirklich "USerbasiert" geschrieben ist steht mal auf nem anderen Blatt
Genau das war die Idee hinter meiner Eingebung. Natürlich kann ich die Übersetzung für ein "ja" 24-mal durch Adapter mitgeben lassen, aber ich könnte sich auch in Form einer zentralen Tabelle/Struktur für alle zur Verfügung stellen. `
Zentralisieren in Forum von "zentralen Übersetzungsfiles "würde ich nicht machen. Dann lieber anderweitig dafür sorgen das es einheitlich ist.
Technisch geht das bestimmt irgendwie, aber … dann braucht man nur mal ein Wort anders oder vergisst die zentrale Liste und schon läuft es wieder auseinander ...
Was man denke ich machen kann ist eine Stelle (Anfang vllt hier im Forum) mit einem "Glossar" mit Begriffen und darüber diese Namensdefinitionen zentral definiert haben. Das muss dann aber jeder nutzen wenn er Adapter-Texte schreibt.
(Meine Meinung)
Also am Ende auf Github forken, Ändern und als Pull-Request einreichen. Im Normallfall sind Coder die sich gern auf die Logik konzentrieren immer sehr dankbar für solche Unterstützung
`
Die Variante hatte ich zuerst im Blick, wollte aber nicht dreist sein und einfach irgendwem irgendwas per Pull Request korrigieren (und Inhalte sind ja was anderes als bspw. Bugs) … und es deshalb erstmal zur Diskussion stellen 8-) Außerdem graut es mir davor, so viele Forks erstellen zu müsse :lol: `
Hehe, ja der Aufwand ist blöd, aber ggf nötig
Jeder Adapter-Entwickler kann sich entscheiden wie er mit nem Pull-Request umgeht … und ggf kann man auch vorher fragen ob er da Unterstützung will. meine Erfajrung ist wie schon gesagt das es meist sehr dankbar angenommen wird
-
Ich habe auch erst gezögert, dann aber einfach mal einen klein Push-Request gemacht. Und dann einen etwas grösseren.
Bis jetzt hat keiner reklamiert. Im Gegenteil.
Was ich aber begrüssen würde, wäre eine 'zentrale' Position im Adapter, wo die Texte hinterlegt. sind. Bei einigen Adaptern sind die doch ordentlich verstreut. Da war das in einem anderen Projekt in PHP mit den po und mo files irgendwie klarer.
Ein bisschen OT, aber wäre ev. ein Entwickler- oder PowerUser-Chat eine gute Sache? Man könnte gewisse Dinge, (wenn online) eher zeitnah disskutieren… -> Nur mal als Idee.
-
Diese Texte waren meine erste Begegnung mit GitHub und pullrequests.
ich habe die entsprechenden Quellen geforkt, mich als javascript-Legastheniker durch alles durchgeklickt bis ich die Tippfehler gefunden habe . Diese korrigiert und einen pull Request erstellt.
Für alle die wissen was sie tun sicher wirklich einfach.
Und nicht von diesen bösen Fremdworten wie pull-request, Github, fork, usw… abschrecken lassen - ist wirklich nicht so schlimm.
Bei einigen Adaptern sind die doch ordentlich verstreut `
Oh ja!Gruß
Rainer
-
Diese Texte waren meine erste Begegnung mit GitHub und pullrequests.
ich habe die entsprechenden Quellen geforkt, mich als javascript-Legastheniker durch alles durchgeklickt bis ich die Tippfehler gefunden habe . Diese korrigiert und einen pull Request erstellt.
Für alle die wissen was sie tun sicher wirklich einfach.
Und nicht von diesen bösen Fremdworten wie pull-request, Github, fork, usw… abschrecken lassen - ist wirklich nicht so schlimm.
Bei einigen Adaptern sind die doch ordentlich verstreut `
Oh ja!Gruß
Rainer `
Na, mich schreckt nicht die Bedienung von Github ab, sondern vielmehr eben die Suche innerhalb des Codes.Wenn ich das richtig verstehe, führt bei den reinen HTML-Dateien das Verwenden der Klasse translate dazu, dass der Inhalt des Tags eigentlich nur noch als Identifier/Key für die Übersetzung zu betrachten ist, oder? Wenn ja, dann hätte ich u.U. zwei Anregungen:
1. Wäre es nicht vielleicht sinnvoll, diesen Identifier/Key als eben solchen kenntlich zu machen? Im Moment befindet sich innerhalb eines Elements mit eben einer translate-Klasse in der Regel der englische Inhalt. Dieser findet sich dann noch mal redundant in der Übersetzungstabelle wieder und ist auch nicht auf den ersten Blick als Identifier/Key zu erkennen. Wenn man jedoch - nur als Idee - etwas technischeres wie INSTANCENAME oder CONFIRM (als bloße Beispiele) nehmen würde, würde beim Lesen des Codes direkt der Übersetzungssinn auffallen.
2. Häufig wird auch zwischen Labeln mit und ohne Doppelpunkt unterschieden. Ließe es sich nicht vereinfachen, indem man einen translate-colon Klasse einführt? Diese könnte zu einer Übersetzung mit einem anschliessenden Doppelpunkt führen ohne dabei die Übersetzung selbst redundant vorhalten zu müssen.
Sorry, aber je mehr man sich mit dem Thema beschäftigt, umso kreativer werden die Ideen [emoji1]
Gesendet von meinem SM-G930F mit Tapatalk
-
Wie ein Entwickler das nutzt sollte seine Sache sein. Ich habe in meinen smartmeter-Adapter eher Identifier genommen die den Feldnamen enthalten und sowas.
Am Ende ist aber mit der Übersetzngsmatrix/Array alles relevante an einer Stelle und das einzige was angefasst werden muss um Texte gerade zu ziehen ist dieses Array.
Ja, es ist je nach Adapter nicht ideal … aber hier machen es sich die Entwickler manchmal einfach
Das bekommt man nicht wirklich weg ... hindert aber auch nicht dabei an der textfront aufzuräumen