Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

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

AW: gettext sucht nur im default.mo

  Alt 23. Jun 2020, 11:51
Hi

erstmal sorry für die späte Antwort.
Da gabs ja mal richtig viel Info. Danke!


Zitat:
Wenn JR da nichts grundlegendes geändert hat, wird für direkte gettext() bzw. _()-Aurufe nicht automatisch in allen Domains gesucht sondern nur in der jeweils aktiven (Standard: "default"). In allen Domains suchen passiert nur für RessourceStrings, und auch da nur in denen die mit RegisterDomainForRessourceString registriert wurden.
Dann verstehe ich den Sinn von
AddDomainForComponent('Base');
aber garnicht. Oder wirkt das wiederum nur bei TranslateComponent(self) ?

Vieleicht sollte ich mich doch mal mit der gnugettext befassen.
Wie sagte meine Mutter immer so schön: "Man wird alt wie eine Kuh und lernt immernoch dazu." AddDomainForComponent war mir bisher nicht bekannt. Der Kommentar zumindest lässt erstmal vermuten, dass das genau das ist, was Du suchst:

Delphi-Quellcode:
// Add more domains that component strings can be extracted from. If a translation
// is not found in the default domain, this domain will be searched, too.
// This is useful when an application inherits components from a 3rd
// party component libraries
procedure AddDomainForComponent (const domain:DomainString);
procedure RemoveDomainForComponent (const domain:DomainString);
Wenn man dann mal nachschaut, was die Prozedur macht, nämlich eine Domain zur Liste ComponentDomainList hinzufügen, stellt man fest, dass das auch nicht hilft. Diese Liste wird nur in ComponentGetText verwendet, dies wiederum wird nur aufgerufen, wenn eine Property übersetzt wird, welches wiederum nur aus TranslateComponent aufgerufen wird.

Mit anderen Worten: Nein, wieder kein Blumenstrauß.
Thomas Mueller
  Mit Zitat antworten Zitat