![]() |
Program mehrsprachig ohne Quellcode großartig anzupassen?
Hallo,
Angenommen ich habe ein größeres Programm wo viele Sachen wie
Delphi-Quellcode:
drin sind.
Label1.Caption:='Dies ist ein Test';
Label2.Caption:='Deutsch'; Button1.Caption:='Button Deutsch'; Memo1.Text:='Deutsch'; Edit1.Text:='Deutsch'; So nun bin ich aber ein Mensch der den Quellcode nicht wie folgt ändern will:
Delphi-Quellcode:
Sondern ich hätte gerne eine Komponente die wenn ich im Programm die Sprache Englisch auswähle einfach die Caption, Text, Hint, usw. Befehle aufgreift und da dann einen anderen String rüberlegt.
Label1.Caption:=str1;
Label2.Caption:=str2; Button1.Caption:=str3; Memo1.Text:=str4; Edit1.Text:=str5; Gibt es sowas? Ich weiss suche aber sowas habe ich noch nicht gefunden. gettext bekomme ich bei mir nicht zum laufen also der editor geht net keine ahnung wieso. Der Multilizer ist recht teuer und anscheinend auch nicht das wahre. Dann habe ich noch den IVS Language Controller gefunden jedoch bekomme ich den nicht für meine Delphi 7 Version aber der macht sowas ja anscheinend. Resourcenstring und ini datein geht nicht weil ich dann halt den Quelltext umschreiben muss. mFg Chris |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
Guck dir mal Modelmaker an. Das hat ein Tool dabei das Strings in Recourcestrings umwandelt.
Ich hab das noch nie richtig ausprobiert, aber er erkennt die ganzen 'string' im Quelltext und lässt die dann ausgliedern. ![]() |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
ich würds so machen:
Delphi-Quellcode:
So erstparst du dir die ganzen Variablen.
var s,sprache:string;
begin sprache:='deutsch.txt'; AssignFile(f,sprache); Reset(f); Readln(f,s); Button1.Caption:=s; Readln(f,s); Button2.Caption:=s; // usw CloseFile(f); end; Die Textdatei muss dann so aussehen:
Code:
So würds ich machen is meiner meinung nach das einfachste.
Dies ist die Caption von Button1
Dies ist die Caption von Button2 usw... |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
Zitat:
Wir haben für unser Projekt damals ![]() |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
Hallo masterchris_99
ich würde Dir GNU Gettext empfehlen ![]() und das dazu ![]() und für das anpassen der Sprachen ![]() das ganze geht wirklich gut. :thumb: Ich hatte am Anfang nur Probleme mit dem CnxManager ging dann abr wirklich gut. viel Erfolg Manfred |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
Zitat:
Der Quellcode soll erhalten bleiben am liebsten wäre mir eine Komponente die einfach direkt auf die Captions zugreift und diese anpasst. |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
ach so. ich dachte du willst nicht unnötig viele variablen haben...
|
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
Zitat:
Habe es mir jetzt aber mal angeguckt das ist richtig gut genau das was ich suche. Jetzt muss ich nur noch das mit den Strings intern hinbekommen Also der Form-Style wird umgestellt aber wenn ich in der FormCreate oder so sage dieses Label ergibt sich zu 'Blaaa' dann packt er es zwar in eine externe Unit nur ändert sich bei der language umstellung nichts. Edit: So schade aber alles was in der FormCreate drin ist wird nicht umgestellt aber trotzdem ein klasse Program! |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
Hai,
ich habe eben das selbe "Problem". Darum schreibe ich mir eben eine Klasse welche die Texte dann aus einer INI holt und anhand des Komponentennamens bzw. der Original-Caption ändert. Wenn sie fertig ist stelle ich sie hier rein. |
Re: Program mehrsprachig ohne Quellcode großartig anzupassen
Ja das wäre sehr gut dann brauch ich mir nicht diese Komponente kaufen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 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-2025 by Thomas Breitkreuz