Einheitliche Übersetzungen

Hi zusammen,

Ich habe ja schon in der Issue #4 angekündigt, dass ich Linbo übersetzbar machen will.

Mit Qt geht das relativ easy, man hat am Schluss für jede Sprache eine *.qm Datei, die dann einfach in die Übersetzungs API geladen wird, Qt kümmert sich dann um den Rest.
Nun wäre meine Frage an euch: Welchen Weg haltet ihr für den Sinnvolleren:

  1. Die .qm Dateien liegen auf dem Server, Linbo lädt beim Start die in der start.conf angegebene herunter und benutzt sie (ähnlich wie bei den Icons). Falls etwas mit der Datei nicht stimmt, ist das Interface Englisch.
    Vorteil: Jeder kann selbst neue Übersetzungen erstellen und sofort verwenden -> sehr, sehr flexibel
    Nachteil: Aufwändiger in der Implementierung und man braucht die Flexibilität vermutlich fast nie.

  2. Die .qm Dateien sind fest in die GUI mit „einkompiliert“ und man legt in der start.conf nur die Abkürzung für die jeweilige Sprache fest (z.B.: „en“ oder „de“), gibt es diese nicht, wird das Interface Englisch.
    Vorteil: Einfacher in der Implementierung.
    Nachteil: Weniger flexibel, neue Übersetzungen müssen immer über einen Entwickler eingebaut werden.

EDIT: Wichtig wäre vielleicht noch: .qm Dateien sind keine Textdateien, sondern haben ein komprimiertes Format, das sich nicht einfach bearbeiten lässt. Man muss .qm Dateien mithilfe des lrelease Tools aus .ts (Die sind XML und können entweder mit einem Texteditor oder dem Qt Linguist bearbeitet werden) Dateien generieren.

Was ist eure Meinung?

Viele Grüße
Dorian

Hallo Dorian,

zunächst von mir ein Dankeschön für Deine Arbeit.

Zu Deiner Frage. Ich denke, dass es reicht die einfache Variante zu nutzen, da unser System nicht in allen Sprachen der Welt benötigt werden wird. Nach meiner bescheidenen Meinung würden die gängigen Sprachen (Deutsch; Englisch; Französisch; Spanisch) reichen. Damit ist m.E. ein Großteil der Welt abgedeckt.
Ich würde aber mehr auf die Stimme des Entwicklers hören, da er bei weiteren Sprachen die Mehrarbeit zu leisten hätte. Also auf Deine Stimme ;-).

Viele Grüße

Alois

Hi Alois,

Mit wäre ehrlich gesagt auch die einfache Variante lieber, ist einfach weniger Aufwand.
Und wenn eine neue Übersetzung dazu soll, und ich eine fertige .ts Datei bekomme, dann ist es eine Sache von fünf Minuten, die einzubauen.

Also dann wird es wohl die zweite Variante :slight_smile:.

Die deutsche Übersetzung kann ich machen, gibt es jemanden, der sich um die Französische und Spanische kümmern würde?

Viele Grüße
Dorian

Hallo @dorian,

Schade, dass wir niemand kennen, der evtl franz. spricht :wink:
Mache ich natürlich.
Für Ajenti/Webui nutzen wir Crowdin als externes Tool um die Übersetzungen zu steuern, damit kann jeder ohne Aufwand helfen.

Gruß

Arnaud

Hallo Arnaud,

Perfekt! Wie es hier aussieht unterstützt Crowdin auch die Qt *.ts Dateien :slight_smile:
Hast du auch die Zugangsdaten zu Crowdin um die Dateien einzupflegen?

Viele Grüße
Dorian

Hallo!

Ohne mich jetzt vertief in die Materie Multi-Lingual zu vertiefen zu wollen.

Können wir das nicht vereinheitlichen und bei dem bleiben was schon genutzt wird?

Dokumentation nutzt Transiflex

@zefanja: Vielleicht kannst du mehr dazu sagen.

Auch wenn @Alois im Moment recht haben könnte, heißt es ja nicht das es so bleiben muss. Von daher bin ich dafür das wir das vorbereiten sollten.

weihnachtliche Grüße

Thorsten

Hallo @dorian und @MachtDochNix ,

Das ist momentan in meinem Konto, absolut nicht optimal. Ich glaub wir sollten die beide Projekte trennen, ansonstens gibt es das Risiko durcheinander zu gehen mit den verschiedenen Ordnern.

Ich muss mal schauen ob wir eine Organization bei Crowdin registrieren können, und dann verschieden Subprojekte einstellen.

Nach meiner Erinnerung is transifex für die Doku verwendet. Das ist nicht besonders angenehm zwei verschiedene Tools zu nutzen, aber es läuft momentan gut und automatisiert. Wenn man es vereintlichen will sollten wir es lieber bei einer Tagung besprechen, das wird sowieso nicht ohne Migration/Arbeit gehen. das ist wahrscheinlich nicht die größte Priorität.

Gruß

Arnaud

Hi @Arnaud und @MachtDochNix

Transifex unterstützt Qt auch, mir ist es also relativ egal, welches von beiden wir nehmen :slight_smile:

VG
Dorian

Hallo Dorian!

Gute Frage: Aus reinem Pragmatismus heraus würde ich sagen, das die Doku bei Transiflex (erst einmal) bleibt.

Aber auf alle Fälle ist das eine Diskussion die geführt werden muss. @Tobias, @cweikl, @toheine, @michael_kohls, @zefanja, @rettich : Ich nenne euch mal, damit hier eure Meinung dazu tut, da ihr ja auch mit schreibt.

@Arnaud: Gibt es auf Seiten derer die an der Entwicklung beteiligt sind, ein einheitliches Vernehmen?

Inwieweit es nötig ist, das beide Gruppen, auf die gleiche Plattform setzen erschließt sich mir nicht.

Beste Grüße und einen guten und vorallem gesunden Rutsch ins neue Jahr

Thorsten

Hallo,

Ich habe jetzt mal das Thema in einem eigenen Thread getrennt.
Für Crowdin habe ich einen Ordner für linbo-gui7 vorbereitet : da soll man die verschiedene Dateien hochladen, und um eine automatische Synchronisation durchzuführen braucht Dorian den private key.
Das können wir in PM erledigen, ich bräuchte erst mal seinen username um ihm im Projekt hinzufügen.

So weit ich weiss, aber ich kann mich auch irren :

  • Ajenti + Webui verwenden Crowdin, Ordner 2.0
  • linbo-gui7 kann jetzt auch Crowdin verwenden, im Ordner linbo-gui7
  • sophomorix verwendet statische Dateien für die Übersetzungen
  • linuxmuster-base hat keine Übersetzungen alles ist auf englisch. Da es Python3 ist, wäre es auch nicht kompliziert einzubauen.

Das alles war auch nicht die Priorität die letzte Monate.

Gruß

Arnaud

Hallo,

Dorian und ich haben die Daten per PM ausgetauscht.

Gruß

Arnaud

Ich versuche jetzt mal, die Übertragung von den Übersetzungen zu Crowding und zurück in die GUI mit GitHub Actions zu automatisieren.

Sollen wir anfangen zu übersetzen, oder blank ist nur zum Testen da ?

Gruß

Arnaud

Nein, blank ist final, ihr könnt loslegen :slight_smile:

French is done.

Cheers,

Arnaud

Cool! :slight_smile:

Ich hab den Workflow noch nicht fertig, aber es wird dann so sein:
Man kann in der start.conf im Linbo Block den Parameter Locale auf eine gültige Sprache setzen (z.B. de-DE). Gibt es dafür eine Übersetzung, wird sie geladen.
@Arnaud Das müsste dann noch in die WebUI kommen.

Dafür müssen wir einen Select einbauen, aber wir brauchen dann die Liste von „gültigen Sprachen“.
Wenn ich es per Python3 aufrufe erhalte ich eine sehr lange Liste, zu lang für einen Select.

Deswegen glaube ich wir sollten erst fest einstellen ( de-DE, fr-FR und en-EN ? ).

Gruß

Arnaud

Spanisch wird noch gegengelesen!

Gruß

Alois

Wir können ja einfach sagen, dass wir alles aufnehmen, wovon mehr als 70% übersetzt sind, oder?

:+1::+1: