Einzelnen Beitrag anzeigen

charly52

Registriert seit: 2. Sep 2018
Ort: Salem, Baden
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Übersetzungstexte werden nur in der default.mo gesucht

  Alt 16. Jun 2020, 18:00
Hi

ich habe eine SW mit den Tools von J.Rathlev bearbeitet.

Schablone erstellen, Schablone und Übersetzten Text mergen und alles ins EXE - Verzeichnis kopieren.

Die SW besteht aus 3 Teilen
- einem generellen Block wo u.a. auch das Main-Form enthalten ist (Domain Name = Default)
- ein Block der Reports enthält (Domain Name = Reports) und
- ein Block der für mehrere Progr. gemeinsam ist. (Domain Name = Base)

Jetzt das Problem: z.B. der Texte mm/dd/YYYY hh:mm AM/PM steht
mit seiner Übersetzung dd.mm.YYYY hh:mm nur in Base.po

und so wie es aussieht wird aber nur in der default domain gesucht.



----------------------------------------------------------------------------
Ein Stück Logfile:
Found in .mo (default): "IP-Cam - "->"IP-Kamera - "
Found in .mo (default): "mm/dd/yyyy"->"dd.mm.yyyy"
Translation not found in .mo file (default) : "hh:mm AM/PM" <---- hier wird nur in 1 Domain gesucht?
Found in .mo (default): "mm/dd/yyyy"->"dd.mm.yyyy"

.................
.................

Loaded resourcestring: RTF Datei
Translation not found in .mo file (default) : "RTF Datei"
Translation not found in .mo file (Reports) : "RTF Datei" <---- hier wird in allen 3 Domains gesucht?
Translation not found in .mo file (Base) : "RTF Datei"

----------------------------------------------------------------------------

Etwas Info zum Programm

In xxxxx.dpr steht:

uses
GnuGetText in '..\xxx\Src\GnuGetText.pas', //1. Reihenfolge
gginitializer in '..\xxx\Src\gginitializer.pas', //2. ist wichtig
Windows,
usw.

begin

UseLanguage(aktLng); //und per Param. eine bestimmte Sprache setzen.

usw. usw.

end.

----------------------------------------------------------------------------

In gginitializer.pas steht genau und nur das folgende:

unit gginitializer;

interface

implementation

uses gnugettext;

initialization

AddDomainForResourceString('Reports');
AddDomainForComponent('Reports');
AddDomainForResourceString('Base'); //Texte aus dem xxxx Verzeichnis
AddDomainForComponent('Base');

end.


hat jemand eine Idee?
Schon mal Danke!

Charly
  Mit Zitat antworten Zitat