AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrsprachig mit GNU Gettext

Ein Thema von Hobbycoder · begonnen am 31. Jul 2018 · letzter Beitrag vom 1. Aug 2018
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Gausi
Gausi
Online

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 13:46
Zum Bearbeiten der .po-Dateien und .mo-Dateien nutze ich poedit, https://poedit.net/download. Damit klappt das recht gut. Was du mit "Rechtsklick -> Compile to mo" probierst, ist für die vorübersetzten Delphi-Strings gedacht.

Seit einiger Zeit habe ich auch das Problem, dass ich mit dem Explorer-Rechtsklick "Dekompile the mo-file to po-file" kein Ergebnis mehr bekomme. Ob das an Windows 10 liegt oder an irgendwas anderem, weiß ich nicht. Ich tippe auf irgendwelche Rechte-Probleme in der Explorer-Erweiterung.

Solange man aber aufpasst, dass man die alten po-Dateien mit den ganzen Übersetzungen drin nicht verliert, kann man auch immer weiter gut updaten, wenn in dem Projekt neue Strings dazu kommen. Dazu ein neues Template erstellen (default.po, das klappt noch über den Explorer), dieses umbenennen in default.pot, alte .po öffnen, das neue pot-Template dazuladen, die noch unübersetzten Strings übersetzen, speichern, fertig. Mo-Datei ist dann direkt da. Das betreffende Projekt darf dabei grade nicht laufen (also die exe), sonst gibt's ne Fehlermeldung.

Hab gestern Abend auch die neue Community-Edition ausprobiert, und konnte meinen Player (auch mehrsprachig) ohne größere Probleme kompilieren, und der Wechsel der Sprache funktioniert auch weiter.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#12

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 13:49
@TE:

Wenn du einfache und schnelle Ergebnisse willst...https://www.delphipraxis.net/146618-...swerkzeug.html

Auch Übersetzungen zur Laufzeit!!! Auch mußt du keine Language Dateien mitliefern...alles einkompiliert. Editor für die Sprachen.

Geändert von haentschman (31. Jul 2018 um 13:52 Uhr)
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#13

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 16:20
@Gausi: Wie / Wo legt man denn in Poedit die Sprache für den Quelltext fest? Ich find da nichts. Aus dem Projekt kann er's ja nicht lesen und in der PO-Datei habe ich nichts bezüglich der Sprache gefunden. Oder muss die PO-Datei erst in das Verzeichnis de-DE?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#14

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 16:43
@TE:

Wenn du einfache und schnelle Ergebnisse willst...https://www.delphipraxis.net/146618-...swerkzeug.html

Auch Übersetzungen zur Laufzeit!!! Auch mußt du keine Language Dateien mitliefern...alles einkompiliert. Editor für die Sprachen.
Habe mir Lingus mal heruntergeladen. Ist ja wirklich simple.
Probiere das grad aus. In dem Abschnitt "Während der Laufzeit die Programmsprache ändern" heißt es
Zitat:
Wichtig ist dabei der anschließende Aufruf von Language.Translate(Self); in allen geöffneten Formularen, um die Änderung zu übernehmen.
Wirklich nur in alle geöffneten Formularen? Da Language.Translate(self) ja im OnFormCreate aufgerufen wird, müsste das dann nicht in alle erzeugten Formularen aufgerufen werden?

Ansonsten sieht das ja wirklich mal richtig simple aus. Gibt es vielleicht eine Extension, die automatisch Übersetzungen per Google-Translate ermöglicht?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#15

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 16:48
@Gausi: Wie / Wo legt man denn in Poedit die Sprache für den Quelltext fest?
Meinst jetzt Sprache auswählen, oder die Übersetzung in den Quelltext einbauen _('xyz'); ?

Im Prinzip nimmt man im Quelltext keine Sprache, aber ich mache sowas meistens in englisch.

Grundsätzlich ist GNU-gettext so, dass du für die Übersetzungen sprechende Bezeichner verwendest, die einmal als Template die Hauptsprache (englisch) besitzt.

GRUND: Es gibt für manche Dinge im Englischen das gleiche Wort, wofür es im deutschen unterschiedliche Wörter gibt.
Hast du das aber direkt als "englisch" angelegt, dann kannst du dafür keine unterschiedlichen deutschen Übersetzungen speichern.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#16

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 17:14
Ich meine das festlegen der Ursprungssprache, die mittels DxGetText aus dem Projekt in die .po-Datei exportiert wurde.
Wenn ich die .po-Datei dann in Poedit öffne, steht über den Elementen "Quelltext - Englisch" und rechts daneben "Übersetzung - unbekannte Spracht".
Ich kann dann die Sprache festlegen, aber das bezieht sich auf die Übersetzung.

Meine vorhandenen Quelltext sind durchweg alle in Deutsch, von daher möchte ich natürlich von Deutsch -> Englisch übersetzen. Die Quellsprache müsste sich doch irgendwo festlegen lassen. Schließlich wäre das ein enormes Unterfangen überall im Source alles auf Englisch zu ändern.

Aber: ich habe mich mit Lingus etwas angefreundet. Klappt schon recht gut. Das übersetzen der Controls und Variablen geht ganz locker. Bei Konstanten will er aber noch nicht.
Auch die Eigenschaft "AutoHotkeys"=maAutomatic führt noch zu einer Fehlfunktion. Und der letzte Beitrag von Wicht zu diesem Thema stammt aus dem Jahre 2013. Wird da noch Programmpflege betriebe? Oder ist Lingus schon "Tot"?
Immerhin läuft es unter Tokyo problemlos, und ist zudem noch wirklich selbsterklärend.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 18:24
Ich meine das festlegen der Ursprungssprache, die mittels DxGetText aus dem Projekt in die .po-Datei exportiert wurde.
Wenn ich die .po-Datei dann in Poedit öffne, steht über den Elementen "Quelltext - Englisch" und rechts daneben "Übersetzung - unbekannte Spracht".
Ich kann dann die Sprache festlegen, aber das bezieht sich auf die Übersetzung.
https://stackoverflow.com/q/33648855/2298252
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.095 Beiträge
 
Delphi 12 Athens
 
#18

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 19:19
Da haben wir alle dasselbe Problem.

Ich hatte GetText auch benutzt, und den Editor etwas optimiert für mich.
Aber die pas Datei ist ziemlich wirr und recht fett, wenn es besser gepflegt wäre
Würde ich das womöglich weiter nutzen, aber das Risiko ist mir ein bisschen hoch.

Müsste man mal richtig ausmisten und modernisieren, aber was ist der Master und wem gehört das ganze?
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#19

AW: Mehrsprachig mit GNU Gettext

  Alt 31. Jul 2018, 20:56
Da haben wir alle dasselbe Problem.

Ich hatte GetText auch benutzt, und den Editor etwas optimiert für mich.
Aber die pas Datei ist ziemlich wirr und recht fett, wenn es besser gepflegt wäre
Würde ich das womöglich weiter nutzen, aber das Risiko ist mir ein bisschen hoch.

Müsste man mal richtig ausmisten und modernisieren, aber was ist der Master und wem gehört das ganze?
Tja, das ist eine gute Frage. Bis vor einiger Zeit hat Lars Dybdahl, von dem das dxgettext-Paket stammt, da noch aktiv mitentwickelt, allerdings habe ich von ihm schon länger nichts mehr gehört. Der dxgettext-Installer ist, wie schon diverse Leute geschrieben haben, ziemlich veraltet.

Es gibt außer mir auch noch andere mit Schreibzugriff auf das Sourceforge-Repository, aber auch da passiert wenig.

Seitens des Projekt Jedi, die vor Jahren ihre eigene Version der gnugettext.pas Unit abgespalten haben, finde ich seit einigen Monaten auch keinen Ansprechpartner mehr. Ich hatte versucht, die beiden Versionen wieder zu vereinigen, aber das scheiterte mangels Interesse auf der Jedi-Seite.

Kurzum: Ich halte das Projekt enigermaßen auf Sourceforge am Leben, indem ich Bugs fixe, wenn man mir welche meldet (glücklicherweise meistens gleich mit Patch), und ab und an Support für eine neue Delphi-Version einbaue. Aber so richtig Interesse habe ich nicht. Ich setze Gnugettext selbst auf der Arbeit für übersetzungen ein. Es funktioniert ganz gut.

Es gibt im Source übrigens mit Gorm auch einen recht guten Editor für PO-Dateien, den ich selbst einsetze.

twm
Thomas Mueller
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.095 Beiträge
 
Delphi 12 Athens
 
#20

AW: Mehrsprachig mit GNU Gettext

  Alt 1. Aug 2018, 08:36
Ja Gorm war besser als PoEdit.
Den hatte ich für mich noch etwas optimiert, seinerzeit mit Google-Translate, etwas verbesserter UI und Sprachenmanagement, etc.
Aber es ist mir zu unsicher auf so einem System weiterzumachen was anscheinend nicht mehr gepflegt ist.

GetText auf anderen Platformen scheint aber gut gepflegt, und Stand der Dinge, deshalb verstehe ich die Situation bei Delphi nicht ganz.

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz