![]() |
Hilfe beim Test eines GnuGetText Patches
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich habe einen Patch für gnugettext.pas bekommen, der folgendes Problem lösen soll: Wenn ein Programm mit einer deutschsprachigen IDE compiliert wird, werden Shortcut-Tasten z.B. "Ctrl+C" auf Deutsch eingebunden ("Strg+C") und bei der Übersetzung nicht korrekt berücksichtigt. Der Patch funktioniert wohl mit aktuellen Delphi Versionen (10.x), aber da gnugettext rückwärtskompatibel bis zu Delphi 6 sein soll, musste ich einige Änderungen vornehmen, damit er kompiliert. Jetzt habe ich das Problem, dass ich die IDE immer nur auf Englisch installiere und deshalb gar nicht testen kann, ob der Patch funktioniert. Also: Ich bräuchte für diverse ältere Delphi-Versionen (mindestens Delphi 6, 2007, 2009, 2010, XE und XE2) jemanden, der diese Tests für mich durchführen kann. Idealerweise jemand, der sowieso gnugettext verwendet und einfach eines seiner existierenden Programme mit der geänderten Unit compileren kann. Die erweiterte gnugettext.pas Unit habe ich angehängt. Der Patch ist aktiv, wenn man im Sourcecode den Define dx_German_Delphi_fix setzt:
Delphi-Quellcode:
Und ensprechend ausgeschaltet, wenn man ihn nicht setzt:
// Programs that are compiled with German Delphi will always show the German shortcut
// keys in menus and hints because the German RTL resourcestrings are not translated. // This results in German menu shortcuts 'Strg+<X>', 'Umsch+<X>' to be shown instead of // 'Ctrl+<X>', 'Shift+<X>', even if the applications language is not German. // // This function hooks into Vcl.Menus.ShortCutToText and replaces the German consts with // their English counterparts if the current application language is *not* German. // Tested with Rad Studio 10.2 Tokyo and 10.3.1 Rio {$define dx_German_Delphi_fix}
Delphi-Quellcode:
Bitte beides testen und vergleichen, ohne, sollten die Shortcuts falsch sein, mit korrekt.{.$define dx_German_Delphi_fix} |
AW: Hilfe beim Test eines GnuGetText Patches
Keine Antwort bisher.
Heisst das, niemand benutzt mehr gnugettext? Oder niemand benutzt mehr alte Delphi-Versionen? Oder will keiner die paar Minuten in eine Open Source Unit investieren? Wenn das so ist, brauche ich mir ja zukünftig keine Sorgen mehr um deutsche User von älteren Delphi-Versionen machen und kann mich auf das konzentrieren, was ich selbst brauche. Dann würde ich einfach den neuen Sourcecode einchecken, denn er betrifft mich nicht, und nach mir die Sintflut. |
AW: Hilfe beim Test eines GnuGetText Patches
Das ist aber auch eine ganz schöne Erwartungshaltung dass sich innerhalb von weniger als 24 Stunden die Leute alle gleich draufstürzen.
Um aber ganz schonungslos ehrlich zu sein: Mein ganz persönliches Interesse an Rückwärtskompatibilität zu Delphi-Versionen aus meiner Grundschulzeit ist wirklich sehr gering, auch für so großartige Sachen wie dxGetText |
AW: Hilfe beim Test eines GnuGetText Patches
Zitat:
Ich habe aber auch den Eindruck, daß tatsächlich seit Erscheinen von Delphi 10.2 Tokyo der Anteil der alten Delphi-Versionen schlagartig abgenommen hat. Seitdem MMX nur noch Delphi 10 Seattle und aufwärts unterstützt, ist die aktuell älteste Delphi Version bei einem Kunden-Projekt XE2 und die wird diesen Monat noch durch Tokyo ersetzt. Damit ist z.B. für mich alles unter Seattle mehr oder weniger Geschichte. Die Versionen sind zwar noch auf dem Build-Server installiert, fallen aber nur noch unangenehm auf, wenn sie beim Compilieren eines meiner Plugins mal wieder ein Sprachfeature nicht unterstützen. Da kommt dann immer wieder der Gedanke, den Support für diese Versionen einfach einzustellen. Übrigens, bei mir schlägt die obige Bedingung schon im ersten Teil fehl. |
AW: Hilfe beim Test eines GnuGetText Patches
Ich benutze gnugettext noch sehr aktiv (siehe meine Mail neulich in der Mailingliste wegen Problemen mit Linux), allerdings nur mit aktuellen Delphi-Versionen (10.2.3 und 10.3.1). Ich habe hier noch ein Delphi 2009 mit deutscher IDE installiert, allerdings nur für ein Alt-Projekt, in dem ich kein gnugettext benutzt habe.
Wenn es hilft, kann ich aber später darin gerne mal ein Mini-Projekt zum Testen deines Patches erstellen. |
AW: Hilfe beim Test eines GnuGetText Patches
Zitat:
|
AW: Hilfe beim Test eines GnuGetText Patches
Funktioniert prinzipiell unter Delphi 2009.
Ein Problem, das aber wahrscheinlich nichts mit der Delphi-Version zu tun hat, ist mir aber noch aufgefallen. Auf der Seite von Lars gab es früher für verschiedene Sprachen eine system.po herunterzuladen, welche dafür gesorgt hat, diverse Meldungen, die aus den Tiefen der RTL/VCL kommen, auf Englisch auszugeben. Wenn ich die mit einbinde, dann funktioniert der Patch nicht mehr:
Delphi-Quellcode:
Ohne die Zeile "AddDomainForResourceString" klappt alles, wie von dir beschrieben, und ein Strg+O wird zu einem Crtl+O in der gepatchten Variante. Mit dieser ersten Zeile aber ist der Patch wirkungslos.
procedure TForm2.FormCreate(Sender: TObject);
begin AddDomainForResourceString('system'); UseLanguage('en'); TranslateComponent(Self); end; |
AW: Hilfe beim Test eines GnuGetText Patches
Liste der Anhänge anzeigen (Anzahl: 1)
Moment. Bei mir stimmt die Schnittmenge. Ich benutze aktiv Delphi 6 mit Gnugettext.
Ich werde es mal testen und mich zurückmelden Ich habe jetzt noch einmal durchgelesen was Du wolltest und UseLanguage('en'); TranslateComponent(Self); durchgeführt. Ich sehe keinen Unterschied ob dx_German_Delphi_fix gesetzt ist oder nicht. Es ist in beiden Versionen richtig |
AW: Hilfe beim Test eines GnuGetText Patches
Zitat:
Wichtig ist, dass mit einer deutschen IDE übersetzt wird, damit die deutschen Hotkeys verwendet werden. ohne {$define dx_German_Delphi_fix}: UseLanguage('en') -> Die Hotkeys in Menüs oder Hints werden als 'Strg/Umsch/Alt' angezeigt. UseLanguage('de') -> Die Hotkeys in Menüs oder Hints werden als 'Strg/Umsch/Alt' angezeigt. mit {$define dx_German_Delphi_fix}: UseLanguage('en') -> Die Hotkeys in Menüs oder Hints müssen als 'Ctrl/Shift/Alt' angezeigt werden. UseLanguage('de') -> Die Hotkeys in Menüs oder Hints müssen als 'Strg/Umsch/Alt' angezeigt werden. Wenn dem so ist, wäre alles in Ordnung. Es werden auch andere Tasten übersetzt, aber das sind die auffälligsten. |
AW: Hilfe beim Test eines GnuGetText Patches
Zitat:
Zitat:
Kannst Du mir diese system.po bitte mal zukommen lassen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz