@laszloh hat sich mit einem PR dem Thema Lokalisierung angenommen. Damit ist es nun nicht mehr notwendig, zwei html-Files zu editieren. Vielen Dank an dieser Stelle!
Unterhalb von html/locales gibt es nun die Files de.json und en.json. Auf dessen Inhalte wird dann in den html-Files referenziert - das gilt auch für den Access Point.
Die Sprache kann man dann direkt in der GUI „on the fly“ umstellen.
Weiterhin gibt es einen neuen Ordner „dist“, in dem zur Kompilierzeit die html-Files „minimized“ werden - das Gleiche gilt für die json-Files. Das ist dann letztlich das, was geflasht wird.
Aus meiner Sicht müsste jetzt alles funktionieren, das Design sein wie vorher und alles übersetzt sein. Testet mal.
Hallo,
Bezüglich dem Layout schaue ich, ob ich da auf die Kürze etwas zusammenschustern kann.
Nein, bei mir funktionieren Sonderzeichen. Die Zeichen deuten auf ein Problem bei der Kodierung der Datei hin (entweder beim Einbetten in den Source oder bei der Übertragung an den Browser).
Kannst du mal schauen, welche Kodierung die Datei html\locales\de.json hat (zB mit Notepad++ )? Sollte utf8 sein.
Jo, ist auch UTF-8 bei mir. Hatte das immer mal wieder beim Lesen von Dateien in Python 3, dass man die mit den entsprechenden Paramtern (encoding=„utf-8“) lesen sollte da sonst das Encoding zuschlägt.
Mein Browser ist der Firefox (109.0.1 (64-Bit)). In Chrome über das Handy sieht es identisch aus.
Ich verwende aktuell Arduino 2. Keine Ahnung ob da eine andere Pyhton-Version dahinter steckt, werde das aber mal noch bisschen weiter testen und analysieren… Vermutlich reicht es schon im python script beim open das hinzuzufügen.
Komme vermutlich erst morgen voll dazu das auszuprobieren.
Vielen Dank schonmal für deine Antwort und die Ansätzte!
Gerade ganz kurz getestet und tatsächlich löst es mein problem wenn ich im python-Script bein den open(„r“) noch das encoding auf utf-8 festlege.
Habe das testweise einfach an allen drei Stellen eingebaut.
Müsste man nur noch herausfinden ob das allgemeingültig über die verschiedenen Versionen hinweg valide ist auf diese Art oder nicht…
Sehr interessant, der default encoding scheint bei uns unterschiedlich zu sein. Könnt ihr die Ausgabe von python -c 'import sys; print(sys.getdefaultencoding())' und python --version von einem platformio terminal posten (und welche Windows Version ihr habt)?
Nur interessenshalber, bei mir ist es unter Windows 11 und pyhton 3.9.10: utf-8 (was auch erklärt, wieso es nicht auftritt).
Ich schreibe morgen ein Patch dafür und für die fehlende Übersetzung.
Ich habe ein bugfix für beide Probleme (Encoding & Übersetzung) fertig gestellt: GitHub - laszloh/ESPuino at i18n_bugfix gepusht. Könnt ihr die branch testen, ob der Fehler bei euch auch gefixt ist?
Sorry, wenn ich mich gleich nochmal melde . Ich hoffe du bekommst noch nit die Krise ^^.
habe nochmal einen (kleinen) Bug entdeckt und bei mir auf meinem Text-To-Speech-Branch gefixed:
Die Mod-Zuweisung im html und in der englishen json-Datei haben den Modus „Bluetooth Source“ vergessen. Dadurch ist die Mod-Zuweisung im unteren Berech bei deutscher Webserver-Sprache ungültig.
Hier siehst du vielleicht besser was ich damit meine:
Lässt sich so vermutlich wegen meines neuen Modus nicht 1:1 übernehmen, aber sollte recht schnell korrigiert sein.
Kein Problem, ich kriege nur langsam die Krise wegen Python und FastLED (templates sind „lustig“). Da kommen einige tief hängende Früchte gerade recht
Stimmt, da fehlt der ganze Befehl 141 in der englischen Management. Hab es eingefügt und die Struktur im json an der Stelle (und bei den Playmodi) geändert. Jetzt nutze ich statt einem Array ein Object mit den Befehl-Kodes als Key.
Ist eine größere Änderung, sollte es aber in Zukunft einfacher machen neue Übersetzungen und Befehle einzubauen.