NEWS
Meeting für ioBroker Core/Dev/Admin 14.07.20 20:30
-
Hm ... @Mic muss ehrlich sagen das ich das einerseits verstehen kann, andererseits seehr shwierig finde.
Projektseitig haben wir die weiteren Sprachen (Sehr lange gab es deutsch,englisch und Russisch) nach Absprache mit (einer damals noch etwas kleineren) Entwicklergruppe und auch User-Gruppe eingef
ü
hrt um genau ioBroker aus dem "nur Deutschland" rauszubringen und auch um besser andere Smart-Home Systeme angreifen zu k
ö
nnen! Chinesisch kam dazu als es dort losging und sich eine eigene Community gebildet hat. So ein switch dauert aber Zeit! Und fehlende
Ü
bersetzungen schrecken dann neue User aus anderen Sprachregionen ganz einfach ab! Das ist die andere Seite der MedallieEs gibt Tools um die
Ü
bersetzungen f
ü
r die Entwickler zu erleichtern bzw zu automatisieren. @ldittmar hat gulp Skripte dazu gebaut die integriert sein sollten, es gibt https://translator.iobroker.in/ f
ü
r manuellere
Ü
bersetzungen.
Die Realit
ä
t ist das ein User das was Du beschreibst ggf nicht akzeptiert sondern einfach den Adapter nicht nutzt ...oder Ihn fluchend nutzt weil er anders tickt als die 352 anderen Adapter 
Was das Thema "usebility" und "Admin UIs besser machen" mit den
Ü
bersetzungen zu tun hat weiss ich nicht nicht, aber ja wenn es darum geht texte nicht auslagern zu m
ü
ssen ... naja 
Ich hatte auch vor einiger Zeit mal mit Optionen
ü
berlegt (Fragezeichen Icons mit mouse-over Erkl
ä
rungen der Einstellungen), aber am Ende bin ich kein Web-Designer ... Womit wir am Ende wieder beim Adapter-Konfiguration Styleguide und so w
ä
ren 
GitHub ist in meinen Augen sprachlich ob Deutsch oder Englisch fast egal ... ich zwinge keinen dort englisch zu sprechen

Mehrsprachige Log Ausgaben finde ich pers
ö
nlich wiederum
ü
berfl
ü
ssig und sogar komplett nicht hilfreich - vor allem wenn die Logs zur Fehlersuche genutzt werden durch MICH dem Entwickler dann muss ich danach suchen k
ö
nnen im Code ... und ich muss damit die Logik verstehen k
ö
nnen. Mehrsprachigkeit hier hilft MIR nicht ... und da behaupte ich jetzt das 90% der User keine Logs lesen und daher 
Fakt ist auch - und das macht die Thematik sehr grenzwertig - das der Adapter Checker im Repo die
Ü
bersetzungen pr
ü
ft und mal mindestens neue Adapter die nicht wenigstens teilweise die Hauptsprachen unterst
ü
tzen in jedem Fall nach den aktuellen Regeln nicht ins Repo kommen. Das w
ü
rde auch auf Deinen Adapter zutreffen.Bestandsadapter geniessen aktuell noch irgendwie so eine Art Vogelfreien Status, aber auch diese pr
ü
fen wir bei stable updates mit dem Repo-Checker ...Du schaffst hier gerade einen Pr
ä
zedenzfall ... und ich h
ä
tte es besser gefunden wenn Du solche Entscheidungen vorher vllt mal angesprochen h
ä
ttest. Versteh mich bitte nicht falsch und ich will Dir garantiert keine St
ö
cke zwischen die F
ü
sse werfen oder gar das du jetzt angepisst keine Adapter mehr baust ... aber irgendwie ist es halt ein miteinander und eine Balance ...Ingo
-
Hm ... @Mic muss ehrlich sagen das ich das einerseits verstehen kann, andererseits seehr shwierig finde.
Projektseitig haben wir die weiteren Sprachen (Sehr lange gab es deutsch,englisch und Russisch) nach Absprache mit (einer damals noch etwas kleineren) Entwicklergruppe und auch User-Gruppe eingef
ü
hrt um genau ioBroker aus dem "nur Deutschland" rauszubringen und auch um besser andere Smart-Home Systeme angreifen zu k
ö
nnen! Chinesisch kam dazu als es dort losging und sich eine eigene Community gebildet hat. So ein switch dauert aber Zeit! Und fehlende
Ü
bersetzungen schrecken dann neue User aus anderen Sprachregionen ganz einfach ab! Das ist die andere Seite der MedallieEs gibt Tools um die
Ü
bersetzungen f
ü
r die Entwickler zu erleichtern bzw zu automatisieren. @ldittmar hat gulp Skripte dazu gebaut die integriert sein sollten, es gibt https://translator.iobroker.in/ f
ü
r manuellere
Ü
bersetzungen.
Die Realit
ä
t ist das ein User das was Du beschreibst ggf nicht akzeptiert sondern einfach den Adapter nicht nutzt ...oder Ihn fluchend nutzt weil er anders tickt als die 352 anderen Adapter 
Was das Thema "usebility" und "Admin UIs besser machen" mit den
Ü
bersetzungen zu tun hat weiss ich nicht nicht, aber ja wenn es darum geht texte nicht auslagern zu m
ü
ssen ... naja 
Ich hatte auch vor einiger Zeit mal mit Optionen
ü
berlegt (Fragezeichen Icons mit mouse-over Erkl
ä
rungen der Einstellungen), aber am Ende bin ich kein Web-Designer ... Womit wir am Ende wieder beim Adapter-Konfiguration Styleguide und so w
ä
ren 
GitHub ist in meinen Augen sprachlich ob Deutsch oder Englisch fast egal ... ich zwinge keinen dort englisch zu sprechen

Mehrsprachige Log Ausgaben finde ich pers
ö
nlich wiederum
ü
berfl
ü
ssig und sogar komplett nicht hilfreich - vor allem wenn die Logs zur Fehlersuche genutzt werden durch MICH dem Entwickler dann muss ich danach suchen k
ö
nnen im Code ... und ich muss damit die Logik verstehen k
ö
nnen. Mehrsprachigkeit hier hilft MIR nicht ... und da behaupte ich jetzt das 90% der User keine Logs lesen und daher 
Fakt ist auch - und das macht die Thematik sehr grenzwertig - das der Adapter Checker im Repo die
Ü
bersetzungen pr
ü
ft und mal mindestens neue Adapter die nicht wenigstens teilweise die Hauptsprachen unterst
ü
tzen in jedem Fall nach den aktuellen Regeln nicht ins Repo kommen. Das w
ü
rde auch auf Deinen Adapter zutreffen.Bestandsadapter geniessen aktuell noch irgendwie so eine Art Vogelfreien Status, aber auch diese pr
ü
fen wir bei stable updates mit dem Repo-Checker ...Du schaffst hier gerade einen Pr
ä
zedenzfall ... und ich h
ä
tte es besser gefunden wenn Du solche Entscheidungen vorher vllt mal angesprochen h
ä
ttest. Versteh mich bitte nicht falsch und ich will Dir garantiert keine St
ö
cke zwischen die F
ü
sse werfen oder gar das du jetzt angepisst keine Adapter mehr baust ... aber irgendwie ist es halt ein miteinander und eine Balance ...Ingo
@apollon77
Hi Ingo,Zun
ä
chst: Ich bin absolut daf
ü
r, dass wir Internationalisierung brauchen. Ich zitiere mich mal selbst vom August 2018:Mich pers
ö
nlich nervt noch, dass ioBroker viel zu wenig bekannt im englischsprachigen Raum ist, obwohl die Community alles daf
ü
r macht (englische Hilfe, englischsprachiges Forum, GitHub so weit es geht in Englisch, etc.). Bin mir da noch nicht sicher, wie wir das weiter unterst
ü
tzen k
ö
nnen
…
. :roll: Aber auch das wird noch kommen. Ein Blog hilft hier schon mal sehr um in den Fokus zu kommen, und ich bin gerne auch mal bei englischsprachigen Artikeln behilflich, falls das angedacht ist.Hier mal ein einfaches Beispiel, was ich meine:
Ich f
ü
ge eine neue Tabellenspalte in den Optionen in der index_m.htmlein.<th style="width: 120px" class="header translate" data-name="offValue">'off' value</th>Diese neue Option beschreibe ich in der
index_m.htmlentsprechend:<td> State value, which is set in 'state for switching device off'. You can use <code>true</code>, <code>false</code>, numbers like <code>144</code>, or strings like <code>Turn Radio on</code>. Note: Any white spaces or quotation marks (like <code>"</code>) at the beginning or end will be disregarded. </td>Das dauert wohl so 2-3 Minuten als Entwickler.
Nun w
ä
re ich eigentlich schon fertig.Schritte die ich als Entwickler nun manuell durchf
ü
hren muss:admin/i18n/en/translations.json:
Ü
bersetzung f
ü
r "'off' value" hinzuf
ü
gen.- Das HTML in
index_m.htmlf
ü
r "State value, which is set ..." umformatieren, so dass es mir z.B. trueoderfalsenicht
ü
bersetzt, die zus
ä
tzlichen HTML-Tags "code" usw. beibeh
ä
lt, etc. Sehr m
ü
hsam und zeitaufw
ä
ndig. Und passt auch nicht von der Reihenfolge her f
ü
r die einzelnen Sprachen (Satzbau, Grammatik, Zeichensetzung, etc.):
<td> <span class="translate">State value, which is set in 'state for switching device off'. You can use </span><code>true</code>, <code>false</code>, <span class="translate">numbers like </span><code>144</code><span class="translate">, or strings like </span><code><span class="translate">Turn Radio on</span></code>. <span class="translate">Note: Any white spaces or quotation marks (like </span><code>"</code>)<span class="translate"> at the beginning or end will be disregarded.</span> </td>(hab das hier reingetippt jetzt, sicherlich noch Fehler im HTML, die ich jetzt noch debuggen m
ü
sste, pr
ü
fen wie es aussieht im Admin, ...)admin/i18n/en/translations.json: Alle nun neuen
Ü
bersetzungen der index_m.htmlwieder hier m
ü
hsam manuell per Copy & Paste einf
ü
gen- Gulp
Ü
bersetzung ausf
ü
hren. Ggf. muss ich nach erfolglosem Google Translate (zu viel in kurzer Zeit
ü
bersetzt ) auf Yandex aufweichen (mit schlechterer
Ü
bersetzungsqualit
ä
t und mehr Arbeit im Nachgang f
ü
r mich) - Deutsche
Ü
bersetzung korrigieren, weil oft schlecht
ü
bersetzt und manche Begriffe wie z.B. "State" irref
ü
hrend f
ü
r den Anwender
ü
bersetzt werden. Dabei muss ich m
ü
hsam die Quelle ansehen und vergleichen, auch weil Satzteile
ü
bersetzt wurden die so nicht zusammen passen, einzeln zusammen suchen, usw. - Ggf. zur
ü
ckgehen zu Punkt 2 ( index_m.html) und diese noch mal korrigieren und 3-5 erneut durchlaufen.
Der zus
ä
tzliche Aufwand f
ü
r dieses Beispiel gesch
ä
tzt: 30 Minuten. Das steht f
ü
r mich in keinem Verh
ä
ltnis zu den urspr
ü
nglich 2-3 Minuten.Wenn man sich etwas umschaut, dann liest man z.B. Folgendes auf github.com/thomas-darling/gulp-translate:
In a traditional localization workflow, localizable content is assigned unique ids and stored in a separate file. Templates that need the content can then import it by referencing its id. While this approach can work in some apps, it has significant drawbacks that often make it annoying, inefficient and error prone in larger apps.
Scheint aber immer noch eher aufw
ä
ndig, habe es mir noch nicht n
ä
her angesehen. Unique Ids ist jedenfalls wirklich nicht Entwickler-freundlich wie hier beschrieben:In many solutions, all strings that need to be translated are stored in a separate string-file, and the templates then reference those strings by id, often using client-side data binding. While this approach does work, it has significant drawbacks that make it annoying, inefficient and error prone in larger apps.
@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Mehrsprachige Log Ausgaben finde ich pers
ö
nlich wiederum
ü
berfl
ü
ssig und sogar komplett nicht hilfreich - vor allem wenn die Logs zur Fehlersuche genutzt werden durch MICH dem Entwickler dann muss ich danach suchen k
ö
nnen im Code ... und ich muss damit die Logik verstehen k
ö
nnen. Mehrsprachigkeit hier hilft MIR nicht ... und da behaupte ich jetzt das 90% der User keine Logs lesen und daherSehr guter Punkt wegen Fehlersuche, du hast absolut recht, und da geht's mir genau so
Ich dachte da auch haupts
ä
chlich an den Endanwender wegen Info-Log-Ausgaben. Aber das l
ä
sst sich wohl auch alternativ gut bzw. besser
ü
ber Adapter-Konfig l
ö
sen, in der dann der User die Ino-Log-Texte f
ü
r die einzelnen Szenarien selbst hinterlegen kann.@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Fakt ist auch - und das macht die Thematik sehr grenzwertig - das der Adapter Checker im Repo die
Ü
bersetzungen pr
ü
ft und mal mindestens neue Adapter die nicht wenigstens teilweise die Hauptsprachen unterst
ü
tzen in jedem Fall nach den aktuellen Regeln nicht ins Repo kommen. Das w
ü
rde auch auf Deinen Adapter zutreffen.Aktuell besteht der https://adapter-check.iobroker.in/ meine "
Ü
bersetzungen" von https://github.com/Mic-M/ioBroker.smartcontrol tats
ä
chlich wunderbar
Die index_m.htmlwird wohl nicht n
ä
her gecheckt wird auf class:translateversus vorhandener Ids inwords.jsund evtueller Diskrepanzen. Aber ich wei
ß
, was du meinst, der Adapter entspricht so sicherlich nicht dem gew
ü
nschten "Standard". Ich bin sehr gerne regelkonform, die Gr
ü
nde f
ü
r die Abweichung beschreibe ich auch hier 
@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Du schaffst hier gerade einen Pr
ä
zedenzfall ... und ich h
ä
tte es besser gefunden wenn Du solche Entscheidungen vorher vllt mal angesprochen h
ä
ttest.Ich bin absolut deiner Meinung, dass mein alternatives Vorgehen eine Abstimmung erfordert und das ganze ein Miteinander ist. Sorry f
ü
r das vorpreschen. Aber f
ü
r meine Alpha/Beta-Version des Adapters muss(te) ich jedoch priorisieren und z
ü
gig eine Entscheidung treffen, denn sonst w
ü
rde sich das wohl wochen- bzw. monatelang ziehen und ich m
ü
sste zwischenzeitlich nach dem alten, gewohnten Schema vorgehen, wof
ü
r ich einfach keine Zeit habe (siehe oben das kleine Beispiel) und den Adapter damit komplett einstampfen mangels Zeit. Hab da auch einfach keine Lust zu, sorry.Ich bin daher auch schmerzfrei, wenn der Adapter dadurch nicht ins Latest kommt, weil ich einfach nicht die Zeit f
ü
r diese Zusatzt
ä
tigkeiten habe und keine Lust auf eine Sehnenscheidenentz
ü
ndung wegen dem vielen manuellen Copy/Paste etc. 
Mein Ziel ist es, dem Anwender einen m
ö
glichst einfach zu konfigurierenden Adapter zu bieten, das muss ich als "Adapter-Sch
ö
pfer" einfach bieten. Da Smart Control komplex (im Vergleich zu einigen andern Adaptern) in den Einstellungen ist, ist es aus meiner Sicht aus User Acceptence Gr
ü
nden umso wichtiger, dass Erkl
ä
rungen zu den Optionen intuitiv und direkt ohne Medienbruch verf
ü
gbar sind. Kann doch nicht sein, dass in der Konfig gef
ü
hlt nur "Hieroglyphen" sind und man nicht weiter kommt. Da verliert man schnell die Lust als Anwender, und da spreche ich selbst aus Erfahrung, deswegen will ich das unbedingt selbst besser machen.@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Versteh mich bitte nicht falsch und ich will Dir garantiert keine St
ö
cke zwischen die F
ü
sse werfen oder gar das du jetzt angepisst keine Adapter mehr baust ... aber irgendwie ist es halt ein miteinander und eine Balance ...Keine Sorge, ich werfe nicht hin
Vielen Dank f
ü
r deine konstruktive Antwort und Kritik. Ich bin absolut deiner Meinung, dass das ganze ein Miteinander und eine Balance ist und kann all deine Punkte sehr gut nachvollziehen. 
Ich hoffe, ich konnte oben meine Beweggr
ü
nde verst
ä
ndlicher darlegen.Zusammengefasst ist mein Haupt-Beweggrund: in begrenzter Zeit m
ö
glichst viel dem ioBroker-Anwender als Entwickler zu bieten, und Manuelles in der Entwicklung so weit es geht zu vermeiden. Im Quellcode verwendet man ja auch Klassen, Funktionen und Eigenschaften, in Verbindung mit Schleifen etc., um wiederkehrendes zu kapseln und den Code nur einmalig schreiben zu m
ü
ssen. Analog dazu sollte das auch bei den
Ü
bersetzungen sein um uns als Entwicklern m
ö
glichst manuelle Arbeit zu vermeiden bei der Entwicklung und Pflege des Adapters... 
-
Hm ... @Mic muss ehrlich sagen das ich das einerseits verstehen kann, andererseits seehr shwierig finde.
Projektseitig haben wir die weiteren Sprachen (Sehr lange gab es deutsch,englisch und Russisch) nach Absprache mit (einer damals noch etwas kleineren) Entwicklergruppe und auch User-Gruppe eingef
ü
hrt um genau ioBroker aus dem "nur Deutschland" rauszubringen und auch um besser andere Smart-Home Systeme angreifen zu k
ö
nnen! Chinesisch kam dazu als es dort losging und sich eine eigene Community gebildet hat. So ein switch dauert aber Zeit! Und fehlende
Ü
bersetzungen schrecken dann neue User aus anderen Sprachregionen ganz einfach ab! Das ist die andere Seite der MedallieEs gibt Tools um die
Ü
bersetzungen f
ü
r die Entwickler zu erleichtern bzw zu automatisieren. @ldittmar hat gulp Skripte dazu gebaut die integriert sein sollten, es gibt https://translator.iobroker.in/ f
ü
r manuellere
Ü
bersetzungen.
Die Realit
ä
t ist das ein User das was Du beschreibst ggf nicht akzeptiert sondern einfach den Adapter nicht nutzt ...oder Ihn fluchend nutzt weil er anders tickt als die 352 anderen Adapter 
Was das Thema "usebility" und "Admin UIs besser machen" mit den
Ü
bersetzungen zu tun hat weiss ich nicht nicht, aber ja wenn es darum geht texte nicht auslagern zu m
ü
ssen ... naja 
Ich hatte auch vor einiger Zeit mal mit Optionen
ü
berlegt (Fragezeichen Icons mit mouse-over Erkl
ä
rungen der Einstellungen), aber am Ende bin ich kein Web-Designer ... Womit wir am Ende wieder beim Adapter-Konfiguration Styleguide und so w
ä
ren 
GitHub ist in meinen Augen sprachlich ob Deutsch oder Englisch fast egal ... ich zwinge keinen dort englisch zu sprechen

Mehrsprachige Log Ausgaben finde ich pers
ö
nlich wiederum
ü
berfl
ü
ssig und sogar komplett nicht hilfreich - vor allem wenn die Logs zur Fehlersuche genutzt werden durch MICH dem Entwickler dann muss ich danach suchen k
ö
nnen im Code ... und ich muss damit die Logik verstehen k
ö
nnen. Mehrsprachigkeit hier hilft MIR nicht ... und da behaupte ich jetzt das 90% der User keine Logs lesen und daher 
Fakt ist auch - und das macht die Thematik sehr grenzwertig - das der Adapter Checker im Repo die
Ü
bersetzungen pr
ü
ft und mal mindestens neue Adapter die nicht wenigstens teilweise die Hauptsprachen unterst
ü
tzen in jedem Fall nach den aktuellen Regeln nicht ins Repo kommen. Das w
ü
rde auch auf Deinen Adapter zutreffen.Bestandsadapter geniessen aktuell noch irgendwie so eine Art Vogelfreien Status, aber auch diese pr
ü
fen wir bei stable updates mit dem Repo-Checker ...Du schaffst hier gerade einen Pr
ä
zedenzfall ... und ich h
ä
tte es besser gefunden wenn Du solche Entscheidungen vorher vllt mal angesprochen h
ä
ttest. Versteh mich bitte nicht falsch und ich will Dir garantiert keine St
ö
cke zwischen die F
ü
sse werfen oder gar das du jetzt angepisst keine Adapter mehr baust ... aber irgendwie ist es halt ein miteinander und eine Balance ...Ingo
-
ja irgendwie hats das jetzt zerballert

Ich verstehe auch Deine Argumente und sind nat
ü
rlich auch immer ein nerviges Thema als Entwickler, wie ich nur zu gut selbst kenne :-).
Das der Ansatz mit dem "eindeutigen IDs f
ü
r lokalisierbare Inhalte" nicht perfekt ist ist denke
ü
berall bekannt ... aber eine echte Alternative gibts irgendwie auch nicht 
W
ä
re damit nicht eine Idee ein "gulp" Dingens oder ein Skript zu schreiben was es erlaubt bestimmt "geschriebenes html" zu parsen und anzupassen?
Also sowas wie ein tag "translate" was als property die text-ID oder sowas hat und ggf. eine Notation "nicht zu
ü
bersetzende teile" zu markieren die dann auch behandelt werden. Dann kann man das initial einfach so schreiben und am Ende l
ä
sst man das Skript dr
ü
ber rennen was diese Art von Sonder-Tags nimmt, in die transpation files einf
ü
gt und so ... Das text Polishing (De/en) ist denke immer mit dabei ... da kommt man nicht drum rum f
ü
rchte ich.Lasst uns doch mal Kreativ werden wie wir dieses nervige Problem so angehen k
ö
nnen mit dem was wir k
ö
nnen ... Coden 
Vllt kriegen wir die 30 mins so auf 10 "am Ende einer
Ä
nderung" runterIngo
-
Das gestrige Meeting war echt toll und wir haben den Beschluss gefasst dies alle 2 Monate zu machen. Das n
ä
chste Meeting wird also irgendwann Ende Juli stattfinden. Urlaubsbedingt w
ä
re vielleicht auch Ende August denkbar, denn da w
ä
ren die Sommerferien rum. Wir schauen dann...Themen f
ü
r das Meeting in Juli/August:- Vorwort/Wartezeit bis alle es mit der Technik hinbekommen haben (Ldittmar)
- Ausblick JS-Contoller 3.2 (Apollon77)
- Alles l
ä
uft nach Plan! Sind keine gr
ö
ß
ere
Ä
nderungen geplant.
- Alles l
- Expert Mode im Admin (WLAN-Kabel)
- Github Installation
- States die nicht f
ü
r normale User gedacht sind - Stable/Latest
- Adapter sollen expert Flag nutzen (expert)
- JavaScript enabled/disabled
- Nicht zuviel verstecken, damit User nicht gezwungen wird zu wechseln
- Experten Modus Browser Session basiert (Settings Hintergrund - nie ausschalten)
- Experten Links/Buttons/Funktionen/States/Objects z.B. einheitlich farblich markieren / in standardisierten Experten-Containern im UI darstellen
- Vorstellung Release-Skript (AlCalzone)
- https://github.com/AlCalzone/release-script
- Sehr m
ä
chtiges Tool um Adapter zu publishen - package-lock wird automatisch mit aktualisiert
- Stale Bot - Erfahrungen (Apollon77)
- Kann
ü
berall rein, denn es hilft - stale.yml drauf - Bsp.: https://github.com/iobroker-community-adapters/ioBroker.info/blob/master/.github/stale.yml
- Doku: https://probot.github.io/apps/stale/
- Kann
- Devices, Alias und Zukunft (Apollon77)
- https://forum.iobroker.net/topic/35020/devices-alias-assistenten-visualisierungen-die-zukunft
- Ger
ä
tetypen konfigurierbar? - Stufe 2 - Alias als Devices sinnvoll zusammenfassen (type-detector)
- Templates f
ü
r Ger
ä
te m
ü
ssen erzeugt werden - Wer kann helfen beim Anlegen von ger
ä
ten?
- Nicht Open Source Abh
ä
ngigkeiten im ioBroker Core -> Redis Protokoll (Jey Cee)
- Object in Redis - Bluefox, Apollon77 und Foxriver haben Zugriff
- SocketIO war nicht stabil und verursachte Probleme
- Alles geht jetzt
ü
ber Redis - Object Kommunikation wird wieder OpenSource
- Failover wenn host ausf
ä
llt (Zukunft)
- Zukunft ioBroker und Windows Installation (Sigi234)
- Windows Installer muss weiter Entwickelt werden, Stabilostick wird motiviert

- Linux Subsystem ist zu kompliziert
- Windows Installer soll so einfach wie m
ö
glich sein - Wenn jemand unterst
ü
tzen will, sich bei Stabilostick melden
- Windows Installer muss weiter Entwickelt werden, Stabilostick wird motiviert
- Adapter Entwicklung und Usability f
ü
r Enduser (Config-Seite) + deutliche DP Strukturen (Dutchman)
- Problem bei Dokus - die Entwicklung gehen schneller voran, als diese aktualisiert werden k
ö
nnen - Developer Best Practices - https://github.com/ioBroker/ioBroker.repositories#development-and-coding-best-practices
- Folder > ... > Folder > Devices > Channels > States
- States d
ü
rfen auch direkt unter Folder oder Device sein - Bitte keine Daten in Channel, Device oder Folder Ebene angeben und States d
ü
rfen keine weitere States haben
- Problem bei Dokus - die Entwicklung gehen schneller voran, als diese aktualisiert werden k
- J
ä
hrliche Ziele f
ü
r das
Ö
kosystem ioBroker. Usability, Funktionen, Qualit
ä
tsverbesserung, ... (Jey Cee)
- Gibt es Usern in der Community die ein Thema in der Hand nehmen wollen und es weiter Treiben
- Wir brauchen Freiwillige die an Dokus helfen
- Zurecht finden in den Online Angeboten von und f
ü
r ioBroker: Webseite, Clouds, Dokumentation, Forum (Jey Cee)
- Zentraler Ort f
ü
r Dev Tools - Seiten werden neu designet
- Single Sign-on f
ü
r alle ioBroker Angebote erstmal eingestellt
- Zentraler Ort f
- Mehrsprachigkeit - Autotranslation f
ü
r Dummies (Ldittmar)
- https://www.electronjs.org/apps/i18n-manager - Vorschlag von Bluefox
- frankjoke hat ein Tool geschrieben https://github.com/frankjoke/fjTranslate
- https://crowdin.com/ als Idee f
ü
r die Community
- Support und Dokumentation in Englischer Sprache Forcieren (Jey Cee)
- Im Forum Aufruf posten um Aufgabe zu erledigen
- Probleme/Unklarheiten bei der Pflege der Dokumentation, ben
ö
tigt ein besseres Management. (Jey Cee)
- Gef
ü
hlt werden manuelle
Ä
nderungen manchmal
Ü
berschrieben und verschwinden wieder aus der Doku. - Es taucht immer wieder die Frage auf wann und wie die
Ä
nderungen in die Dokumentation kommen. - Veraltete Dokumente und Seiten vom Netz nehmen bzw. Archivieren so das nur noch das ioBroker Team darauf
Zugriff hat - M
ü
ssen noch angepasst werden - git rebase nutzen um Konflikte bei PRs zu vermeiden
- Doku Texte werden automatisch
ü
bersetzt aber nicht zur
ü
ck
ü
bersetzt, also nur originale Anpassen
- Gef
@ldittmar sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Nicht Open Source Abh
ä
ngigkeiten im ioBroker Core -> Redis Protokoll (Jey Cee)Object in Redis - Bluefox, Apollon77 und Foxriver haben Zugriff
SocketIO war nicht stabil und verursachte Probleme
Alles geht jetzt
ü
ber Redis
Object Kommunikation wird wieder OpenSourceSeit 29.07.20 ist objects-redis Open Source unter Apache 2.0 Lizenz.
-
Hm ... @Mic muss ehrlich sagen das ich das einerseits verstehen kann, andererseits seehr shwierig finde.
Projektseitig haben wir die weiteren Sprachen (Sehr lange gab es deutsch,englisch und Russisch) nach Absprache mit (einer damals noch etwas kleineren) Entwicklergruppe und auch User-Gruppe eingef
ü
hrt um genau ioBroker aus dem "nur Deutschland" rauszubringen und auch um besser andere Smart-Home Systeme angreifen zu k
ö
nnen! Chinesisch kam dazu als es dort losging und sich eine eigene Community gebildet hat. So ein switch dauert aber Zeit! Und fehlende
Ü
bersetzungen schrecken dann neue User aus anderen Sprachregionen ganz einfach ab! Das ist die andere Seite der MedallieEs gibt Tools um die
Ü
bersetzungen f
ü
r die Entwickler zu erleichtern bzw zu automatisieren. @ldittmar hat gulp Skripte dazu gebaut die integriert sein sollten, es gibt https://translator.iobroker.in/ f
ü
r manuellere
Ü
bersetzungen.
Die Realit
ä
t ist das ein User das was Du beschreibst ggf nicht akzeptiert sondern einfach den Adapter nicht nutzt ...oder Ihn fluchend nutzt weil er anders tickt als die 352 anderen Adapter 
Was das Thema "usebility" und "Admin UIs besser machen" mit den
Ü
bersetzungen zu tun hat weiss ich nicht nicht, aber ja wenn es darum geht texte nicht auslagern zu m
ü
ssen ... naja 
Ich hatte auch vor einiger Zeit mal mit Optionen
ü
berlegt (Fragezeichen Icons mit mouse-over Erkl
ä
rungen der Einstellungen), aber am Ende bin ich kein Web-Designer ... Womit wir am Ende wieder beim Adapter-Konfiguration Styleguide und so w
ä
ren 
GitHub ist in meinen Augen sprachlich ob Deutsch oder Englisch fast egal ... ich zwinge keinen dort englisch zu sprechen

Mehrsprachige Log Ausgaben finde ich pers
ö
nlich wiederum
ü
berfl
ü
ssig und sogar komplett nicht hilfreich - vor allem wenn die Logs zur Fehlersuche genutzt werden durch MICH dem Entwickler dann muss ich danach suchen k
ö
nnen im Code ... und ich muss damit die Logik verstehen k
ö
nnen. Mehrsprachigkeit hier hilft MIR nicht ... und da behaupte ich jetzt das 90% der User keine Logs lesen und daher 
Fakt ist auch - und das macht die Thematik sehr grenzwertig - das der Adapter Checker im Repo die
Ü
bersetzungen pr
ü
ft und mal mindestens neue Adapter die nicht wenigstens teilweise die Hauptsprachen unterst
ü
tzen in jedem Fall nach den aktuellen Regeln nicht ins Repo kommen. Das w
ü
rde auch auf Deinen Adapter zutreffen.Bestandsadapter geniessen aktuell noch irgendwie so eine Art Vogelfreien Status, aber auch diese pr
ü
fen wir bei stable updates mit dem Repo-Checker ...Du schaffst hier gerade einen Pr
ä
zedenzfall ... und ich h
ä
tte es besser gefunden wenn Du solche Entscheidungen vorher vllt mal angesprochen h
ä
ttest. Versteh mich bitte nicht falsch und ich will Dir garantiert keine St
ö
cke zwischen die F
ü
sse werfen oder gar das du jetzt angepisst keine Adapter mehr baust ... aber irgendwie ist es halt ein miteinander und eine Balance ...Ingo
Ich konnte jetzt nur durch einen Trick hier antworten (weiter oben vor dem Fehler bei einem Beitrag auf "Antwort" klicken. Siehe Thread: https://forum.iobroker.net/topic/35464/fehler-in-forum-thread-html-markdown-problem
W
ä
re damit nicht eine Idee ein "gulp" Dingens oder ein Skript zu schreiben was es erlaubt bestimmt "geschriebenes html" zu parsen und anzupassen?An gulp dachte ich auch, wollte auch schon selbst was implementieren, aber dann schnell festgestellt, dass ich zu wenig/keine Erfahrung mit gulp hab und daher aus Zeitgr
ü
nden verworfen.Also sowas wie ein tag "translate" was als property die text-ID oder sowas hat und ggf. eine Notation "nicht zu
ü
bersetzende teile" zu markieren die dann auch behandelt werden.Ja, genau, also
index_m.htmlper gulp.Beispiel, so etwas sollte halt dann
ü
bersetzt werden:<td class="translate"> Sobald der Wert vom Datenpunkt mit diesem Wert übereinstimmt, wird der Auslöser aktiviert. <br>Du kannst <code>true</code>, <code>false</code>, Nummern wie <code>144</code>, or Strings wie <code>ABCDEF</code> verwenden. <br> <br>Ebenso kannst du die Vergleichs-Operatoren <code>></code>, <code><</code>, <code>>=</code> und <code><=</code> vor Zahlen schreiben. <br>Um also auszulösen, wenn z.B. die Temperatur größer als 20°C ist, trägst du <code>>20</code> ein. <br> <br>Sämtliche Leerzeichen und Anführungszeichen (wie <code>"</code>) am Anfang und Ende werden automatisch entfernt. </td>Ausgangstext muss dann aber in Englisch sein, wobei auch als gulp-Option in Landessprache vorstellbar w
ä
re...Hierbei m
ü
ssen ein paar HTML-Tags ignoriert werden, z.b. <code>. Satzteile formatiert (z.B.<bold>etc.) sollen
ü
bersetzt werden.
Evtl. noch eine "translate-ignore" CSS-Klasse f
ü
r manche Teile (z.B. <span class="translate-ignore">Mich ignorieren</span>Soweit die Idee

Dann kann man das initial einfach so schreiben und am Ende l
ä
sst man das Skript dr
ü
ber rennen was diese Art von Sonder-Tags nimmt, in die transpation files einf
ü
gt und so ... Das text Polishing (De/en) ist denke immer mit dabei ... da kommt man nicht drum rum f
ü
rchte ich.Das w
ä
re super. Und klar, deutsch/englisch Anpassungen werden immer sein. Wobei man theoretisch auch die Quellsprache per gulp Option festlegen k
ö
nnte.
Nachteil w
ä
re aber: index_m.htmlenth
ä
lt dann deutsche Texte (oder spanische, etc.), also nicht so sch
ö
n zu pflegen f
ü
r andere Entwickler.Weitere Ideen?

-
Ich konnte jetzt nur durch einen Trick hier antworten (weiter oben vor dem Fehler bei einem Beitrag auf "Antwort" klicken. Siehe Thread: https://forum.iobroker.net/topic/35464/fehler-in-forum-thread-html-markdown-problem
W
ä
re damit nicht eine Idee ein "gulp" Dingens oder ein Skript zu schreiben was es erlaubt bestimmt "geschriebenes html" zu parsen und anzupassen?An gulp dachte ich auch, wollte auch schon selbst was implementieren, aber dann schnell festgestellt, dass ich zu wenig/keine Erfahrung mit gulp hab und daher aus Zeitgr
ü
nden verworfen.Also sowas wie ein tag "translate" was als property die text-ID oder sowas hat und ggf. eine Notation "nicht zu
ü
bersetzende teile" zu markieren die dann auch behandelt werden.Ja, genau, also
index_m.htmlper gulp.Beispiel, so etwas sollte halt dann
ü
bersetzt werden:<td class="translate"> Sobald der Wert vom Datenpunkt mit diesem Wert übereinstimmt, wird der Auslöser aktiviert. <br>Du kannst <code>true</code>, <code>false</code>, Nummern wie <code>144</code>, or Strings wie <code>ABCDEF</code> verwenden. <br> <br>Ebenso kannst du die Vergleichs-Operatoren <code>></code>, <code><</code>, <code>>=</code> und <code><=</code> vor Zahlen schreiben. <br>Um also auszulösen, wenn z.B. die Temperatur größer als 20°C ist, trägst du <code>>20</code> ein. <br> <br>Sämtliche Leerzeichen und Anführungszeichen (wie <code>"</code>) am Anfang und Ende werden automatisch entfernt. </td>Ausgangstext muss dann aber in Englisch sein, wobei auch als gulp-Option in Landessprache vorstellbar w
ä
re...Hierbei m
ü
ssen ein paar HTML-Tags ignoriert werden, z.b. <code>. Satzteile formatiert (z.B.<bold>etc.) sollen
ü
bersetzt werden.
Evtl. noch eine "translate-ignore" CSS-Klasse f
ü
r manche Teile (z.B. <span class="translate-ignore">Mich ignorieren</span>Soweit die Idee

Dann kann man das initial einfach so schreiben und am Ende l
ä
sst man das Skript dr
ü
ber rennen was diese Art von Sonder-Tags nimmt, in die transpation files einf
ü
gt und so ... Das text Polishing (De/en) ist denke immer mit dabei ... da kommt man nicht drum rum f
ü
rchte ich.Das w
ä
re super. Und klar, deutsch/englisch Anpassungen werden immer sein. Wobei man theoretisch auch die Quellsprache per gulp Option festlegen k
ö
nnte.
Nachteil w
ä
re aber: index_m.htmlenth
ä
lt dann deutsche Texte (oder spanische, etc.), also nicht so sch
ö
n zu pflegen f
ü
r andere Entwickler.Weitere Ideen?

-
Ich konnte jetzt nur durch einen Trick hier antworten (weiter oben vor dem Fehler bei einem Beitrag auf "Antwort" klicken. Siehe Thread: https://forum.iobroker.net/topic/35464/fehler-in-forum-thread-html-markdown-problem
W
ä
re damit nicht eine Idee ein "gulp" Dingens oder ein Skript zu schreiben was es erlaubt bestimmt "geschriebenes html" zu parsen und anzupassen?An gulp dachte ich auch, wollte auch schon selbst was implementieren, aber dann schnell festgestellt, dass ich zu wenig/keine Erfahrung mit gulp hab und daher aus Zeitgr
ü
nden verworfen.Also sowas wie ein tag "translate" was als property die text-ID oder sowas hat und ggf. eine Notation "nicht zu
ü
bersetzende teile" zu markieren die dann auch behandelt werden.Ja, genau, also
index_m.htmlper gulp.Beispiel, so etwas sollte halt dann
ü
bersetzt werden:<td class="translate"> Sobald der Wert vom Datenpunkt mit diesem Wert übereinstimmt, wird der Auslöser aktiviert. <br>Du kannst <code>true</code>, <code>false</code>, Nummern wie <code>144</code>, or Strings wie <code>ABCDEF</code> verwenden. <br> <br>Ebenso kannst du die Vergleichs-Operatoren <code>></code>, <code><</code>, <code>>=</code> und <code><=</code> vor Zahlen schreiben. <br>Um also auszulösen, wenn z.B. die Temperatur größer als 20°C ist, trägst du <code>>20</code> ein. <br> <br>Sämtliche Leerzeichen und Anführungszeichen (wie <code>"</code>) am Anfang und Ende werden automatisch entfernt. </td>Ausgangstext muss dann aber in Englisch sein, wobei auch als gulp-Option in Landessprache vorstellbar w
ä
re...Hierbei m
ü
ssen ein paar HTML-Tags ignoriert werden, z.b. <code>. Satzteile formatiert (z.B.<bold>etc.) sollen
ü
bersetzt werden.
Evtl. noch eine "translate-ignore" CSS-Klasse f
ü
r manche Teile (z.B. <span class="translate-ignore">Mich ignorieren</span>Soweit die Idee

Dann kann man das initial einfach so schreiben und am Ende l
ä
sst man das Skript dr
ü
ber rennen was diese Art von Sonder-Tags nimmt, in die transpation files einf
ü
gt und so ... Das text Polishing (De/en) ist denke immer mit dabei ... da kommt man nicht drum rum f
ü
rchte ich.Das w
ä
re super. Und klar, deutsch/englisch Anpassungen werden immer sein. Wobei man theoretisch auch die Quellsprache per gulp Option festlegen k
ö
nnte.
Nachteil w
ä
re aber: index_m.htmlenth
ä
lt dann deutsche Texte (oder spanische, etc.), also nicht so sch
ö
n zu pflegen f
ü
r andere Entwickler.Weitere Ideen?

@Mic Ich denke f
ü
r die "nicht zu
ü
bersetzenden texte" m
ü
sste man sie erkennen, durch Platzhalter ersetzen die nicht
ü
bersetzt werden und dann nach der
Ü
bersetzung zur
ü
ck-einsetzen. m
ü
sste man in entsprechende "Tags" einschliessen ...(zB wie Du in "code").Aber auch wichtig f
ü
r die erkennung w
ä
re noch ein "<div>" aussen rum.Also etwas wie
<td class="translate">
<div translation_id="meinCoolerText">....<code>do not translate</code>...</div>
</td>... m
ü
sste man jetzt nur noch bauen 
@ldittmar Schon nach dem Urlaub was vor? ;-)))
-
@Mic Ich denke f
ü
r die "nicht zu
ü
bersetzenden texte" m
ü
sste man sie erkennen, durch Platzhalter ersetzen die nicht
ü
bersetzt werden und dann nach der
Ü
bersetzung zur
ü
ck-einsetzen. m
ü
sste man in entsprechende "Tags" einschliessen ...(zB wie Du in "code").Aber auch wichtig f
ü
r die erkennung w
ä
re noch ein "<div>" aussen rum.Also etwas wie
<td class="translate">
<div translation_id="meinCoolerText">....<code>do not translate</code>...</div>
</td>... m
ü
sste man jetzt nur noch bauen 
@ldittmar Schon nach dem Urlaub was vor? ;-)))
@apollon77 said in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:<div translation_id="meinCoolerText">
Wof
ü
r brauchst du die id dann noch? Ich hatte den Ansatz von @Mic so verstanden, dass er ja gerade das mit den IDs nicht mehr will und das im Grunde alles automatisch generiert werden soll -> das k
ö
nnte ja dann die IDs direkt mit generieren, damit man da nicht wieder in das Problem l
ä
uft, dass IDs nicht gepflegt werden (nicht eindeutig, ungenutzt, blah).Oder hab ich da was falsch verstanden /
ü
bersehen? -
@apollon77 said in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:<div translation_id="meinCoolerText">
Wof
ü
r brauchst du die id dann noch? Ich hatte den Ansatz von @Mic so verstanden, dass er ja gerade das mit den IDs nicht mehr will und das im Grunde alles automatisch generiert werden soll -> das k
ö
nnte ja dann die IDs direkt mit generieren, damit man da nicht wieder in das Problem l
ä
uft, dass IDs nicht gepflegt werden (nicht eindeutig, ungenutzt, blah).Oder hab ich da was falsch verstanden /
ü
bersehen?@Garfonso Naja die Idee ist ja das Mapping zu Loca-IDs und damit das "auslagern in die words.js" zu automatisieren. ich kennen aktuell noch keinen sinnvollen Weg ohne dies. Bei einfachen texten geht es auch ihne indem der Text zum KEy wird, aber sobald das komplexer wird wird das ziemlich bl
ö
d finde ich ... -
@Garfonso Naja die Idee ist ja das Mapping zu Loca-IDs und damit das "auslagern in die words.js" zu automatisieren. ich kennen aktuell noch keinen sinnvollen Weg ohne dies. Bei einfachen texten geht es auch ihne indem der Text zum KEy wird, aber sobald das komplexer wird wird das ziemlich bl
ö
d finde ich ...@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Bei einfachen texten geht es auch ihne indem der Text zum KEy wird, aber sobald das komplexer wird wird das ziemlich bl
ö
d finde ich ...Die Fehlermeldungen vom TypeScript-Compiler werden beispielsweise genau so generiert.
-
@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Bei einfachen texten geht es auch ihne indem der Text zum KEy wird, aber sobald das komplexer wird wird das ziemlich bl
ö
d finde ich ...Die Fehlermeldungen vom TypeScript-Compiler werden beispielsweise genau so generiert.
Hi zusammen,
- Hier noch mal der initiale Beitrag von mir zu dieser Diskussion.
- Und hier der derzeitige Aufwand f
ü
r Entwickler aus meiner Sichtweise.
@AlCalzone sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Bei einfachen texten geht es auch ihne indem der Text zum KEy wird, aber sobald das komplexer wird wird das ziemlich bl
ö
d finde ich ...Die Fehlermeldungen vom TypeScript-Compiler werden beispielsweise genau so generiert.
Ich kenne jetzt die
Ü
bersetzungs-Funktionalit
ä
t (Stichwort word.js) noch nicht wirklich, aber ich denke, der daf
ü
r zust
ä
ndige Code m
ü
sste auch angepasst werden.Wie auch immer:
So wie ich die JavaScript-Spezifikation verstehe, darf ein Objekt-Key (also derkeybei{'key':'val'}ein beliebiges String beinhalten. Somit sind also keine Grenzen gesetzt. Lasse mich da gerne korrigieren
Damit ist es also egal, wie komplex das String ist, (Browser-)Performance mal au
ß
en vor.Jetzt kann doch ein Script folgendes machen:
index_m.htmlper jQuery: alle Inhalte, dietranslateals Klassen-Zuweisung enthalten, per Loop durchlaufen:- Inhalte
ü
bersetzen und Ergebnis in Variable und dann Zieldatei.
- F
ü
r
Ü
bersetzung: vorher definierte Tags zur
Ü
bersetzung ignorieren (z.B. <code>true</true>oderText <span="non-translate">ioBroker<span>und einzelne Teile separat
ü
bersetzen. - Nach
Ü
bersetzung: ignorierte Bestandteile wieder in HTML-Variable hinzuf
ü
gen
- F
- Ergebnis ab in die
words.js:- hier dann auch bereinigen zum Schluss, d.h. unbenutzte Eintr
ä
ge l
ö
schen. Geht nat
ü
rlich nur, wenn global verf
ü
gbar, welche Keys gesetzt wurden.
- hier dann auch bereinigen zum Schluss, d.h. unbenutzte Eintr
Falls das on-the-fly nicht m
ö
glich oder aus Browser-Performance-Gr
ü
nden nicht sinnvoll, k
ö
nnte man auch entsprechend komplilieren und "_min.xxx" Dateien generieren lassen, wie z.B. "words_min.js" -
Hi zusammen,
- Hier noch mal der initiale Beitrag von mir zu dieser Diskussion.
- Und hier der derzeitige Aufwand f
ü
r Entwickler aus meiner Sichtweise.
@AlCalzone sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:@apollon77 sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:Bei einfachen texten geht es auch ihne indem der Text zum KEy wird, aber sobald das komplexer wird wird das ziemlich bl
ö
d finde ich ...Die Fehlermeldungen vom TypeScript-Compiler werden beispielsweise genau so generiert.
Ich kenne jetzt die
Ü
bersetzungs-Funktionalit
ä
t (Stichwort word.js) noch nicht wirklich, aber ich denke, der daf
ü
r zust
ä
ndige Code m
ü
sste auch angepasst werden.Wie auch immer:
So wie ich die JavaScript-Spezifikation verstehe, darf ein Objekt-Key (also derkeybei{'key':'val'}ein beliebiges String beinhalten. Somit sind also keine Grenzen gesetzt. Lasse mich da gerne korrigieren
Damit ist es also egal, wie komplex das String ist, (Browser-)Performance mal au
ß
en vor.Jetzt kann doch ein Script folgendes machen:
index_m.htmlper jQuery: alle Inhalte, dietranslateals Klassen-Zuweisung enthalten, per Loop durchlaufen:- Inhalte
ü
bersetzen und Ergebnis in Variable und dann Zieldatei.
- F
ü
r
Ü
bersetzung: vorher definierte Tags zur
Ü
bersetzung ignorieren (z.B. <code>true</true>oderText <span="non-translate">ioBroker<span>und einzelne Teile separat
ü
bersetzen. - Nach
Ü
bersetzung: ignorierte Bestandteile wieder in HTML-Variable hinzuf
ü
gen
- F
- Ergebnis ab in die
words.js:- hier dann auch bereinigen zum Schluss, d.h. unbenutzte Eintr
ä
ge l
ö
schen. Geht nat
ü
rlich nur, wenn global verf
ü
gbar, welche Keys gesetzt wurden.
- hier dann auch bereinigen zum Schluss, d.h. unbenutzte Eintr
Falls das on-the-fly nicht m
ö
glich oder aus Browser-Performance-Gr
ü
nden nicht sinnvoll, k
ö
nnte man auch entsprechend komplilieren und "_min.xxx" Dateien generieren lassen, wie z.B. "words_min.js"@Mic Also ja nat
ü
rlich kann man den beliebigen Text in die Words packen ... Dann br
ä
uchte man beim zur
ü
ckschreiben noch eine Erkennung das ein text schon
ü
bersetzt ist damit er nicht nochmal wird - und man muss sich selbst dran halten sowas nicht nochmal zu editieren sondern die words.js ab der initialen
Ü
bersetzung zu nutzen ... sonst landet der neue text beim n
ä
chsten "
ü
bersetzungslauf ausf
ü
hren" unter dem neuen text nochmal drin und es entstehen doubletten und riiiesige words.js Files
Daher meine Idee es durch ne unique ID zu ersetzen ... dann sieht man das gleich. geht aber bestimt auch anders.Die Logik mit
Ü
bersetzung und so (geht ja nicht in words.js sondern in die translation files denke ich) ist glaube im gulp drin. Am Ende passt eine neue Logik denke da am besten hin. Also im gulp das html parsen, texte finden und "bearbeiten".Ansonsten: einzelne Teile
ü
berstzen geht nicht wiel sonst der Satzaufbau komplett zerst
ö
rt wird. Also man muss wirklich die nicht zu
ü
bersetzenden Teile rausholen und durch etwas ersetzen was er nicht
ü
bersetzt, und danach den ganzen Text mit den Platzhaltern
ü
bersetzen lassen und dann wieder die platzhalter zur
ü
ck-einf
ü
gen -
@Mic Also ja nat
ü
rlich kann man den beliebigen Text in die Words packen ... Dann br
ä
uchte man beim zur
ü
ckschreiben noch eine Erkennung das ein text schon
ü
bersetzt ist damit er nicht nochmal wird - und man muss sich selbst dran halten sowas nicht nochmal zu editieren sondern die words.js ab der initialen
Ü
bersetzung zu nutzen ... sonst landet der neue text beim n
ä
chsten "
ü
bersetzungslauf ausf
ü
hren" unter dem neuen text nochmal drin und es entstehen doubletten und riiiesige words.js Files
Daher meine Idee es durch ne unique ID zu ersetzen ... dann sieht man das gleich. geht aber bestimt auch anders.Die Logik mit
Ü
bersetzung und so (geht ja nicht in words.js sondern in die translation files denke ich) ist glaube im gulp drin. Am Ende passt eine neue Logik denke da am besten hin. Also im gulp das html parsen, texte finden und "bearbeiten".Ansonsten: einzelne Teile
ü
berstzen geht nicht wiel sonst der Satzaufbau komplett zerst
ö
rt wird. Also man muss wirklich die nicht zu
ü
bersetzenden Teile rausholen und durch etwas ersetzen was er nicht
ü
bersetzt, und danach den ganzen Text mit den Platzhaltern
ü
bersetzen lassen und dann wieder die platzhalter zur
ü
ck-einf
ü
genIch werfe auch mal https://weblate.org/de/ in den Raum, UncleSam hat mich darauf aufmerksam gemacht

@UncleSam sagte in Gulp ist kein Hexenwerk - Auto translation:
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
@UncleSam sagte in Gulp ist kein Hexenwerk - Auto translation:
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 sagte in Gulp ist kein Hexenwerk - Auto translation:
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.Ich kenne Weblate null, aber das klingt wirklich hochinteressant!
der Prozess ben
ö
tigt keine manuellen Schritte mehr f
ü
r die Entwickler!
-
Ich werfe auch mal https://weblate.org/de/ in den Raum, UncleSam hat mich darauf aufmerksam gemacht

@UncleSam sagte in Gulp ist kein Hexenwerk - Auto translation:
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
@UncleSam sagte in Gulp ist kein Hexenwerk - Auto translation:
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 sagte in Gulp ist kein Hexenwerk - Auto translation:
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.Ich kenne Weblate null, aber das klingt wirklich hochinteressant!
der Prozess ben
ö
tigt keine manuellen Schritte mehr f
ü
r die Entwickler!
@Mic Danke f
ü
r die zahlreichen Zitate 
I18N (Internationalization) ist ein h
ä
ufiges Problem und wir sind sicherlich nicht die ersten (und nicht die letzten), die sich dem annehmen m
ü
ssen. Als Schweizer Softwareentwickler bin ich fast in jedem Projekt zweisprachig unterwegs (DE/FR); meist kommt noch Englisch dazu.Die Problematik muss an zwei Stellen angegangen werden:
- Die Software muss
ü
bersetzbar sein - Die
Ü
bersetzungen m
ü
ssen einfach gepflegt werden k
ö
nnen
Die Diskussion hier dreht sich vor allem um den ersten Punkt, mein Vorschlag f
ü
r Weblate konzentriert sich auf den zweiten (nur damit wir hier nicht allzu wirr durcheinander reden).F
ü
r 1. gibt es gute Frameworks und gute Beschreibungssprachen. Hier einige Beispiele: https://docs.weblate.org/en/latest/formats.html
Dabei ist wichtig, dass das Tool nicht nur einfache Texte
ü
bersetzen kann, sondern zum Beispiel auch mit Plural/Daten umgehen kann. ICU macht das sehr sch
ö
n: http://userguide.icu-project.org/formatparse/messages :"{num_guests, plural, offset:1 " "=0 {{host} does not give a party.}" "=1 {{host} invites {guest} to her party.}" "=2 {{host} invites {guest} and one other person to her party.}" "other {{host} invites {guest} and # other people to her party.}}}"Ich denke wir m
ü
ssen uns f
ü
r beide Punkte auf etwas einigen und beides muss zusammen passen. Dabei w
ü
rde ich versuchen, auf Standard-Tools zu setzen und nicht zu viel selber zu erfinden/entwickeln. Bis jetzt habe ich im Web-Bereich nur mit Angular I18N gearbeitet - und allein schon dort gibt es drei popul
ä
re L
ö
sungen."Im Nachhinein
Ü
bersetzen" ist IMHO eine schlechte Strategie, sprich:
Ü
bersetzungen m
ü
ssen von Anfang an in der Software vorgesehen sein. Irgendwie versuchen, Texte herauszusuchen und diese dann in eine Datei abzuf
ü
llen funktioniert sehr schlecht. Gerade auch Teils
ä
tze (beim Einsetzen von Daten) k
ö
nnen ein heilloses Durcheinander ausl
ö
sen.Automatische
Ü
bersetzungen sind ein guter erster Schritt, damit ioBroker internationaler wird, aber wer mag Software schlecht die
Ü
bersetzung sein or not all translated?
Teilweise ist schon Deutsch schwierig, beim Englisch holpert es dann doch
ö
fters in ioBroker.Ich freue mich auf einen guten Austausch und bin gerne bereit in den n
ä
chsten Wochen Zeit in eine gute L
ö
sung zu stecken. - Die Software muss
-
@Mic Danke f
ü
r die zahlreichen Zitate 
I18N (Internationalization) ist ein h
ä
ufiges Problem und wir sind sicherlich nicht die ersten (und nicht die letzten), die sich dem annehmen m
ü
ssen. Als Schweizer Softwareentwickler bin ich fast in jedem Projekt zweisprachig unterwegs (DE/FR); meist kommt noch Englisch dazu.Die Problematik muss an zwei Stellen angegangen werden:
- Die Software muss
ü
bersetzbar sein - Die
Ü
bersetzungen m
ü
ssen einfach gepflegt werden k
ö
nnen
Die Diskussion hier dreht sich vor allem um den ersten Punkt, mein Vorschlag f
ü
r Weblate konzentriert sich auf den zweiten (nur damit wir hier nicht allzu wirr durcheinander reden).F
ü
r 1. gibt es gute Frameworks und gute Beschreibungssprachen. Hier einige Beispiele: https://docs.weblate.org/en/latest/formats.html
Dabei ist wichtig, dass das Tool nicht nur einfache Texte
ü
bersetzen kann, sondern zum Beispiel auch mit Plural/Daten umgehen kann. ICU macht das sehr sch
ö
n: http://userguide.icu-project.org/formatparse/messages :"{num_guests, plural, offset:1 " "=0 {{host} does not give a party.}" "=1 {{host} invites {guest} to her party.}" "=2 {{host} invites {guest} and one other person to her party.}" "other {{host} invites {guest} and # other people to her party.}}}"Ich denke wir m
ü
ssen uns f
ü
r beide Punkte auf etwas einigen und beides muss zusammen passen. Dabei w
ü
rde ich versuchen, auf Standard-Tools zu setzen und nicht zu viel selber zu erfinden/entwickeln. Bis jetzt habe ich im Web-Bereich nur mit Angular I18N gearbeitet - und allein schon dort gibt es drei popul
ä
re L
ö
sungen."Im Nachhinein
Ü
bersetzen" ist IMHO eine schlechte Strategie, sprich:
Ü
bersetzungen m
ü
ssen von Anfang an in der Software vorgesehen sein. Irgendwie versuchen, Texte herauszusuchen und diese dann in eine Datei abzuf
ü
llen funktioniert sehr schlecht. Gerade auch Teils
ä
tze (beim Einsetzen von Daten) k
ö
nnen ein heilloses Durcheinander ausl
ö
sen.Automatische
Ü
bersetzungen sind ein guter erster Schritt, damit ioBroker internationaler wird, aber wer mag Software schlecht die
Ü
bersetzung sein or not all translated?
Teilweise ist schon Deutsch schwierig, beim Englisch holpert es dann doch
ö
fters in ioBroker.Ich freue mich auf einen guten Austausch und bin gerne bereit in den n
ä
chsten Wochen Zeit in eine gute L
ö
sung zu stecken.Vielen Dank f
ü
r deine Initiative, Super 
Wie ist das denn mit Weblate hinsichtlich Dokumentation versus Applikation (Frontend) selbst:
Mein pers
ö
nlicher Ansto
ß
war, dass ich in ioBroker.adapter-xyz/admin/index_m.htmlauch eine direkte Hilfe dem Anwender biete (https://github.com/Mic-M/ioBroker.smartcontrol).Dort habe ich etwa folgendes, also eine "Online-Hilfe/Dokumentation" f
ü
r den Anwender:

L
ä
sst sich denn so etwas, also der Text mit der Tabelle, auch einfach mit Weblate abbilden?Quellcode:
Oder ist Weblate prim
ä
r f
ü
r die "eigentliche" Software gedacht, also Auswahlfelder, Feldbezeichnungen, usw.? - Die Software muss
-
@Mic Danke f
ü
r die zahlreichen Zitate 
I18N (Internationalization) ist ein h
ä
ufiges Problem und wir sind sicherlich nicht die ersten (und nicht die letzten), die sich dem annehmen m
ü
ssen. Als Schweizer Softwareentwickler bin ich fast in jedem Projekt zweisprachig unterwegs (DE/FR); meist kommt noch Englisch dazu.Die Problematik muss an zwei Stellen angegangen werden:
- Die Software muss
ü
bersetzbar sein - Die
Ü
bersetzungen m
ü
ssen einfach gepflegt werden k
ö
nnen
Die Diskussion hier dreht sich vor allem um den ersten Punkt, mein Vorschlag f
ü
r Weblate konzentriert sich auf den zweiten (nur damit wir hier nicht allzu wirr durcheinander reden).F
ü
r 1. gibt es gute Frameworks und gute Beschreibungssprachen. Hier einige Beispiele: https://docs.weblate.org/en/latest/formats.html
Dabei ist wichtig, dass das Tool nicht nur einfache Texte
ü
bersetzen kann, sondern zum Beispiel auch mit Plural/Daten umgehen kann. ICU macht das sehr sch
ö
n: http://userguide.icu-project.org/formatparse/messages :"{num_guests, plural, offset:1 " "=0 {{host} does not give a party.}" "=1 {{host} invites {guest} to her party.}" "=2 {{host} invites {guest} and one other person to her party.}" "other {{host} invites {guest} and # other people to her party.}}}"Ich denke wir m
ü
ssen uns f
ü
r beide Punkte auf etwas einigen und beides muss zusammen passen. Dabei w
ü
rde ich versuchen, auf Standard-Tools zu setzen und nicht zu viel selber zu erfinden/entwickeln. Bis jetzt habe ich im Web-Bereich nur mit Angular I18N gearbeitet - und allein schon dort gibt es drei popul
ä
re L
ö
sungen."Im Nachhinein
Ü
bersetzen" ist IMHO eine schlechte Strategie, sprich:
Ü
bersetzungen m
ü
ssen von Anfang an in der Software vorgesehen sein. Irgendwie versuchen, Texte herauszusuchen und diese dann in eine Datei abzuf
ü
llen funktioniert sehr schlecht. Gerade auch Teils
ä
tze (beim Einsetzen von Daten) k
ö
nnen ein heilloses Durcheinander ausl
ö
sen.Automatische
Ü
bersetzungen sind ein guter erster Schritt, damit ioBroker internationaler wird, aber wer mag Software schlecht die
Ü
bersetzung sein or not all translated?
Teilweise ist schon Deutsch schwierig, beim Englisch holpert es dann doch
ö
fters in ioBroker.Ich freue mich auf einen guten Austausch und bin gerne bereit in den n
ä
chsten Wochen Zeit in eine gute L
ö
sung zu stecken. - Die Software muss
-
Vielen Dank f
ü
r deine Initiative, Super 
Wie ist das denn mit Weblate hinsichtlich Dokumentation versus Applikation (Frontend) selbst:
Mein pers
ö
nlicher Ansto
ß
war, dass ich in ioBroker.adapter-xyz/admin/index_m.htmlauch eine direkte Hilfe dem Anwender biete (https://github.com/Mic-M/ioBroker.smartcontrol).Dort habe ich etwa folgendes, also eine "Online-Hilfe/Dokumentation" f
ü
r den Anwender:

L
ä
sst sich denn so etwas, also der Text mit der Tabelle, auch einfach mit Weblate abbilden?Quellcode:
Oder ist Weblate prim
ä
r f
ü
r die "eigentliche" Software gedacht, also Auswahlfelder, Feldbezeichnungen, usw.?@Mic sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:L
ä
sst sich denn so etwas, also der Text mit der Tabelle, auch einfach mit Weblate abbilden?Weblate
ü
bersetzt - nicht mehr und nicht weniger. Du hast ja bereits class="translate"hinzugef
ü
gt, das muss dann ein Tool extrahieren (geht in deinem Fall sehr einfach) und Weblate bietet dann einfach alle Teil-Strings zur
Ü
bersetzung an.Ganze Seiten mit HTML Tags etc. w
ü
rde ich nicht von Weblate
ü
bersetzen lassen (das bedingt, dass der
Ü
bersetzer HTML versteht), allerdings kann ich mir vorstellen, einfaches Markdown
ü
bersetzen zu lassen (z.B. f
ü
r https://raw.githubusercontent.com/ioBroker/ioBroker.docs/master/docs/en/dev/adaptervis.md, aber eher nicht f
ü
r grosse Dokumente wie https://raw.githubusercontent.com/ioBroker/ioBroker.docs/master/docs/en/dev/adapterdev.md).Das mit dem Extrahieren ist ein wichtiger Punkt: der Entwickler muss nat
ü
rlich zu
ü
bersetzenden Text irgendwie markieren, aber den markierten Text zu extrahieren sollte man unbedingt einem Tool
ü
berlassen. Sprich f
ü
r ioBroker: words.js (oder was es dann auch immer sein wird) wird komplett von Weblate erzeugt, der Entwickler muss nur etwas (z.B. class="translate"eventuell mitid="unique-id") zu jedem Tag hinzuf
ü
gen, den er
ü
bersetzt haben will. -
@Mic sagte in Online Meeting f
ü
r ioBroker Core/Dev/Admin 14.07.2020 20:30:L
ä
sst sich denn so etwas, also der Text mit der Tabelle, auch einfach mit Weblate abbilden?Weblate
ü
bersetzt - nicht mehr und nicht weniger. Du hast ja bereits class="translate"hinzugef
ü
gt, das muss dann ein Tool extrahieren (geht in deinem Fall sehr einfach) und Weblate bietet dann einfach alle Teil-Strings zur
Ü
bersetzung an.Ganze Seiten mit HTML Tags etc. w
ü
rde ich nicht von Weblate
ü
bersetzen lassen (das bedingt, dass der
Ü
bersetzer HTML versteht), allerdings kann ich mir vorstellen, einfaches Markdown
ü
bersetzen zu lassen (z.B. f
ü
r https://raw.githubusercontent.com/ioBroker/ioBroker.docs/master/docs/en/dev/adaptervis.md, aber eher nicht f
ü
r grosse Dokumente wie https://raw.githubusercontent.com/ioBroker/ioBroker.docs/master/docs/en/dev/adapterdev.md).Das mit dem Extrahieren ist ein wichtiger Punkt: der Entwickler muss nat
ü
rlich zu
ü
bersetzenden Text irgendwie markieren, aber den markierten Text zu extrahieren sollte man unbedingt einem Tool
ü
berlassen. Sprich f
ü
r ioBroker: words.js (oder was es dann auch immer sein wird) wird komplett von Weblate erzeugt, der Entwickler muss nur etwas (z.B. class="translate"eventuell mitid="unique-id") zu jedem Tag hinzuf
ü
gen, den er
ü
bersetzt haben will.@UncleSam Bevor wir noch einen Server aufsetzten, vielleicht k
ö
nnen wir in die Richtung crowdin schauen?Ich habe ein Beispielprojekt angelegt: https://crowdin.com/project/iobrokeradmin
Oder hier als Enterprise: https://iobroker.crowdin.com/
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden