Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

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

AW: gettext sucht nur im default.mo

  Alt 18. Jun 2020, 09:56
mittels AddDomainForResourceString kann man weitere Dateien hinzufügen.

z.B. delphi.mo

AddDomainForResourceString ('delphi');
AddDomainForResourceString funktionert halt nur für Ressourcestrings, wie der Name schon impliziert. Direkte Aufrufe von GetText ignorieren die damit hinzugefügten Domains.

Üblicherweise benutzt man Domains aber eigentlich auch, um Übersetzungen für verschiedene Zwecke zu trennen. Z.B. wenn man eine Spezialanwendung für Straßenzustandserfassung und Bewertung schreibt, dann gibt es eine Domain "ZEB", die die ganzen Fachbegriffe umfasst, bei denen es auf wortgenaue Überstzungen ankommt, damit der Anwender sicher ist, worum es geht.

Und dann benutzt man auch DGetText(s, 'ZEB') bzw. TranslateComponent(..., 'ZEB') für die Übersetzung.

Es gibt noch die Funktion TextDomain, die die Default-Domain auf eine andere umstellt TextDomain('ZEB') würde dazu führen, dass alle nachfolgenden GetText-Aufrufe die Domain "ZEB" verwenden (und keine Übersetzungen aus der Domain "default" mehr finden würden).

In diesem Fall ist es gar nicht gewünscht, dass Übersetzungen aus anderen Domains verwendet werden.

Soweit ich mich erinnere, gibt es kein Analog zu AddDomainForResourceString für GetText-Aufrufe.

Wir reden doch hier von gxgettext (bzw. dem Original GnuGettext), oder? Wenn nein, ignoriert alles, was ich geschrieben habe.
Thomas Mueller
  Mit Zitat antworten Zitat