GUI ändern?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MrLiNk
User
Beiträge: 3
Registriert: Montag 7. Juli 2014, 23:57

Hallo Forum,

ich bin neu hier, und schonmal vorab danke das es im Internet für alles ein Forum gibt :)
Ich habe leider keine Ahnung von Python, ich habe nur ein paar fragen dazu.

Es geht um folgendes: http://www.cowfishstudios.com/blog/obd- ... -head-unit

Ist es möglich das ganze auf Deutsch umzuschreiben? Was muss ich machen damit ich die GUI ändern kann? Womit kann ich das "Design" bearbeiten?
Gibt es da Möglichkeiten?


Ich würde mich über eine Antwort sehr freuen!

MfG,
MrLiNk
BlackJack

@MrLiNk: Das ist in Python geschrieben, also hast Du da Python-Quelltext. Im Quelltext stehen auch die Texte die in der GUI angezeigt werden. Die könnte man direkt ändern, dann hätte man allerdings das Problem, dass man das für jede neue Programmversion erneut machen müsste, oder man alle Änderungen die am Original passieren, im übersetzten Programm nachpflegen muss. Also würde man da wohl eher die Texte/Übersetzungen als Daten aus dem Programm heraus ziehen und das dem Autor anbieten, also wieder nach ”upstream” schicken. Das übliche System was dazu verwendet wird, und sowohl vom verwendeten GUI-Toolkit wxPython, als auch von Python selbst unterstützt wird, ist `gettext`.
MrLiNk
User
Beiträge: 3
Registriert: Montag 7. Juli 2014, 23:57

Hi BlackJack,

danke für deine Antwort.

Okay, das mit dem Übersetzen habe ich verstanden.

Das andere was du geschrieben hast mit dem wxPython und "gettext" habe ich nicht ganz verstanden, sind das programme die ich laden kann und damit kann ich dann auch das "Design" anpassen? oder wie soll ich das verstehen? Ist es möglich den Hintergrund zu ändern, eigenes Logo einzufügen, etc das würde ich gerbe Wissen.

MfG,
MrLiNk
BlackJack

@MrLiNk: `wxPython` ist das GUI-Toolkit das von dem Programm für die grafische Benutzeroberfläche verwendet wird, und `gettext` ist eine Bibliothek für „internationalisation” (abgekürzt „i18n”) für die es unterstützung sowohl in `wxPython` gibt, als auch generell in Python über das `gettext`-Modul in der Standardbibliothek. Beim GUI-Toolkit gibt zum Beispiel Standardtexte für OK, Cancel, und so weiter, die nicht vom Programmierer vorgegeben werden müssen, die man bei einer Umstellung auf eine andere Sprache aber natürlich gerne automatisch übersetzt hätte.

Die Erstellung der GUI und die Texte stehen bei dem Programm im Quelltext. Das heisst egal was Du daran ändern möchtest, Du musst das im Python-Quelltext tun.
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Ich würde da eher den Autoren fragen, ob der den Programmcode dafür aufbereiten kann. Ich denke das ist wesentlich einfacher als sich zuerst mit Python und Gettext zu beschäftigen, wenn es nur um die Übersetzung geht.

Der Autor wird ja sein Programm am besten kennen und das hoffentlich schnell einbauen können. Die Übersetzung muss man dann natürlich nachher selber durchführen und dem Autoren die Übersetzungsdatei wieder zusenden. Außerdem können da dann auch andere Sprachen von profitieren.
BlackJack

@Hellstorm: Schnell einbauen geht wahrscheinlich nur wenn der Autor so etwas schon mal gemacht hat. Ansonsten muss man sich wahrscheinlich erst einmal ein wenig mit `gettext` beschäftigen, den Werkzeugen dafür, dem Format der Quelldateien für die Übersetzung selber, eventuell einem Programm um diese Dateien zu bearbeiten, und so weiter.

Grundsätzlich zu versuchen die Änderungen auch in den Upstream zu bekommen ist sicher eine gute Idee, egal wer das letztendlich ändert.
Benutzeravatar
snafu
User
Beiträge: 6736
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@Hellstorm: Man kann durchaus zunächst nur den Vorschlag einer Änderung bezüglich ``gettext`` machen und falls dies auf Interesse stößt, auch einen Patch abliefern, der die entsprechenden Stellen abändert. Das kann dem Autor viel Arbeit ersparen und sorgt oft auch für die Motivation, dass die Änderung überhaupt Eingang ins Programm findet. Wenn der Programmcode nicht völliger Murks ist, dann sollte es auch für Dritte möglich sein, sich dort einzuarbeiten.
MrLiNk
User
Beiträge: 3
Registriert: Montag 7. Juli 2014, 23:57

Hi,

wenn ich mir jetzt z.B. die obd2_codes.py anschaue finde ich darin Sachen wie z.B.

"P0195": "Engine Oil Temperature Sensor",

reicht es dann wenn ich "Engine Oil Temperature Sensor" in ""Motor Oel Temperatur Sensor" ändere?
Wahrscheinlich denke ich da aber zu einfach :)
Antworten