Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TTranslateShortCutText Komponente / Unit (https://www.delphipraxis.net/121441-ttranslateshortcuttext-komponente-unit.html)

toms 27. Sep 2008 18:05


TTranslateShortCutText Komponente / Unit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi

Ursprung der Komponente TTranslateShortCutText ist eine Frage aus diesem Beitrag

Zitat:

Ich habe ein Prog, daß es auch auf englisch geben soll. Allerdings läßt sich mein Delphi nicht überreden aus dem Shortcut strg + pfeil nach oben in einem Menüeintrag, ctrl+up arrow, oder soetwas zu machen.
Bezeichnungen von Shortcuts ändern, aber wie?

Entstanden ist eine TTranslateShortCutText Komponente v1.10

Funktion: Übersetzung der Shortcut Bezeichnungen z.B im TMainMenu, TPopupMenu etc.
Vordefinierte Sprachen: Deutsch, Englisch

Getestet unter D5, D6, D2009.

Weitere Informationen in sind in der unit TranslateShortCutText zu finden.

Die Komponente kann installiert werden oder wer dies nicht mag erzeugt eine Instanz zur Laufzeit.



Delphi-Quellcode:
var
  TranslateShortCutText1 := TTranslateShortCutText;
begin
  TranslateShortCutText1 := TTranslateShortCutText.Create(Self);
Bezeichnungen der Shortcut auf English stellen.
Delphi-Quellcode:

  TranslateShortCutText1.Language := lgSCEnglish;

Delphi-Quellcode:
  // oder Eigene Shortcut Bezeichnungen zuweisen:
  with TranslateShortCutText1 do
  begin
    Key_Backspace := 'MyBackspace';
    Key_Tabulator := 'Tab';
    Key_Return := 'Enter';
    Key_Escape := 'Esc';
    Key_Space := 'Space';
    Key_Prior := 'PgUp';
    Key_Next := 'PgDn';
    Key_End := 'End';
    Key_Home := 'Home';
    Key_Left := 'Left';
    Key_Up := 'Up';
    Key_Right := 'Right';
    Key_Down := 'Down';
    Key_Insert := 'Insert';
    Key_Delete := 'Del';
    Key_Alt := 'Alt+';
    Key_Ctrl := 'Ctrl+';
    Key_Shift := 'Shift+';
    RefreshMenuItems;
  end;
Verbesserungsvorschläge bitte mir senden, Ideen sind Willkommen !

toms 16. Nov 2008 15:38

Re: TTranslateShortCutText Komponente
 
Nachfrage: Konnte die Unit irgendjemand brauchen (oder gibt's eine einfachere / bessere Möglichkeit) ?

littleDave 16. Nov 2008 15:54

Re: TTranslateShortCutText Komponente
 
Also eine einfachere Möglichkeit, wie du es gemacht hast, fällt mir nicht ein. Ich hab das bei mir ähnlich gelöst: ich hab auch die Funktion "ShortCutToText" auf eine eigene Funktion umgeleitet. Die Funktion habe ich komplett aus der Menus.pas übernommen - das einzige was ich gemacht habe, ist das array mit den ShortCutTexten in der neuen Unit nochmal zu deklarieren - jedoch im Interface-Teil und nicht im Implementation-Teil, so dass ich den Inhalt einfach über die Multi-Language-Unit beliebig verändern kann.

Das gleiche habe ich auch noch mit der MessageDlg-Funktion gemacht. Das hab ich gemacht, um die Captions (mtWarning, mtInformation, ...) und die Button-Captions zu ändern. Das könntest du ja auch noch mit Einbauen.

toms 22. Nov 2008 08:13

Re: TTranslateShortCutText Komponente
 
Zitat:

Zitat von littleDave
Das gleiche habe ich auch noch mit der MessageDlg-Funktion gemacht. Das hab ich gemacht, um die Captions (mtWarning, mtInformation, ...) und die Button-Captions zu ändern. Das könntest du ja auch noch mit Einbauen.

Wenn du möchtest, kannst du mir ja den Source Code zukommen lassen, dann kann ich das mal einbauen.

littleDave 23. Nov 2008 14:37

Re: TTranslateShortCutText Komponente
 
Zitat:

Zitat von toms
Zitat:

Zitat von littleDave
Das gleiche habe ich auch noch mit der MessageDlg-Funktion gemacht. Das hab ich gemacht, um die Captions (mtWarning, mtInformation, ...) und die Button-Captions zu ändern. Das könntest du ja auch noch mit Einbauen.

Wenn du möchtest, kannst du mir ja den Source Code zukommen lassen, dann kann ich das mal einbauen.

Klar, kann ich machen, jedoch nicht vor Dienstag abend - wahrscheinlich noch später. Aber ich werd drann denken

toms 6. Jan 2009 18:38

Re: TTranslateShortCutText Komponente
 
Zitat:

Zitat von littleDave
Klar, kann ich machen, jedoch nicht vor Dienstag abend - wahrscheinlich noch später. Aber ich werd drann denken

Welchen Dienstag hast du gemeint :gruebel:

Marco Steinebach 26. Feb 2009 10:41

Re: TTranslateShortCutText Komponente
 
Hallo,
Zitat:

Zitat von toms
Nachfrage: Konnte die Unit irgendjemand brauchen (oder gibt's eine einfachere / bessere Möglichkeit) ?

Ich hab die Komponente bei mir eingebunden und kann sie, sehr gut sogar, gebrauchen.
Vielen Dank dafür!!!
Verbesserungsvorschläüge hab ich keine!
Viele Grüße
Marco

toms 26. Feb 2009 19:26

Re: TTranslateShortCutText Komponente
 
Zitat:

Zitat von Marco Steinebach
Hallo,
Zitat:

Zitat von toms
Nachfrage: Konnte die Unit irgendjemand brauchen (oder gibt's eine einfachere / bessere Möglichkeit) ?

Ich hab die Komponente bei mir eingebunden und kann sie, sehr gut sogar, gebrauchen.
Vielen Dank dafür!!!
Verbesserungsvorschläüge hab ich keine!
Viele Grüße
Marco

Danke für das positive Feedback! Dann habe ich die Komponente / Unit ja nicht ganz vergebens gemacht...

uligerhardt 5. Jan 2011 08:51

AW: TTranslateShortCutText Komponente / Unit
 
Erstmal danke für die Komponente!

Ein paar Fragen/Anmerkungen habe ich:
  1. Funktioniert das Patchen/Hooken/??? von ShortCutToText auch unter neueren Windows? Wegen Data Execution Prevention etc.
  2. Die Lösung mit der hartkodierten Sprachaufzählung gefällt mir nicht so. Da wäre mir etwas "Dynamischeres" lieber.
  3. Toll wäre, wenn man die Übersetzungen direkt vom Betriebssystem kriegen könnte. Da bin ich gerade auf der Suche (http://www.delphipraxis.net/157237-l...ml#post1072322).
  4. Vielleicht sollte man der Vollständigkeit halber auch TextToShortCut ersetzen.

toms 5. Jan 2011 19:35

AW: TTranslateShortCutText Komponente / Unit
 
Zitat:

Zitat von uligerhardt (Beitrag 1072326)
Erstmal danke für die Komponente!

Ein paar Fragen/Anmerkungen habe ich:
  1. Funktioniert das Patchen/Hooken/??? von ShortCutToText auch unter neueren Windows? Wegen Data Execution Prevention etc.
  2. Die Lösung mit der hartkodierten Sprachaufzählung gefällt mir nicht so. Da wäre mir etwas "Dynamischeres" lieber.
  3. Toll wäre, wenn man die Übersetzungen direkt vom Betriebssystem kriegen könnte. Da bin ich gerade auf der Suche (http://www.delphipraxis.net/157237-l...ml#post1072322).
  4. Vielleicht sollte man der Vollständigkeit halber auch TextToShortCut ersetzen.

1) die Funktion wird nicht systemweit gepatcht, das System kommt dir also nicht in die Quere
2) Die Idee dahinter: Wenn ein Programm Englisch und Deutsch anbietet, kann man direkt dir entsprechende Sprache wählen. Die Bezeichnungen können jedoch auch benutzerdefiniert geändert werden.
3+4) Gute Idee.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 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