AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Vcl.Dialogs.InputQuery Button Sprache wechseln

Ein Thema von MatthiasFehr · begonnen am 25. Okt 2022 · letzter Beitrag vom 28. Okt 2022
Antwort Antwort
Seite 1 von 2  1 2      
MatthiasFehr

Registriert seit: 4. Mär 2011
Ort: Franken (D)
34 Beiträge
 
Delphi 12 Athens
 
#1

Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 25. Okt 2022, 22:21
Leider ein neues Problem.
Meine Software ist in den Versioninformationen ist English (Vereinigte Staaten) konfiguriert.
Trotzdem ist bei Vcl.Dialogs.InputQuery der Button auf einem Englischen Computer in Deutsch beschriftet mit "Abbrechen".
Was ist der Lösungsansatz?
Matthias Fehr
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 25. Okt 2022, 22:28
Die "Sprache" in den Versions-Infos ist grundsätzlich erstmal nur für diese VersionsInfo-Ressource.
Und eventuell noch für die StringResourcen, aber nur wie die Resourcen markiert sind ... welche Texte in die RTL/VCL-Resourcen kompiliert/gelinkt werden, das ist was Anderes.


Weil dein Programm deutsch kompiliert wurde und DU "nur" die deutsche Sprache (RTL/VCL) mitgegeben hast.

C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\BDSSetLang.exe -> Bibliotheks Sprache

Alternativ kann man zusätzliche Sprach-Resourcen mitgeben.
Diese werden dann anhand der Windows-Sprache ausgewählt.

z.B. wenn man mit Laufzeitpackages kompiliert
vcl280.bpl (englisch drin)
vcl280.de (zusätzliches deutsch)
vcl280.fr
vcl280.ja

bzw. siehe Tools > Translations-Manager


Oder ein fremdes Translation-Tool benutzen, z.B. dxGetText hookt die String-Resourcen und gibt dann seine Übersetzung raus.



Input-Query ist immer eine VCL-Form,
aber z.B. ShowMessage ist entweder ein WinAPI-TaskDialog, oder wenn nicht möglich (uraltes Windows) oder Designs abgeschaltet (TaskDialogAPI fehlt/deaktiviert), ersatzweise eine VCL-Form.

Bei den VCL-Forms ist das somit ein TButton und man könnte sich da selber reinhacken.



Theoretisch kann man Resourcen in unterschiedlichen Sprachen einkompilieren, also z.B. auch mehrere Versionsinfos mit Texten in anderen Sprachen.
Ich weiß aber nicht wie der Sprachloader von Delphi damit umgeht, oder ob das immer in getrennten DLLs liegen muß.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (25. Okt 2022 um 22:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#3

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 26. Okt 2022, 00:29
PS: aktuelles Thema https://www.delphipraxis.net/211674-...-toolkits.html


Zitat von MatthiasFehr:
Das Einbinden von anderen Sprachen in Delphi 11.2 ist mir neu, obwohl ich seit 1983 programmieren .

Frage: wie kann ich im System das vcl280.bpl einbinden / aktivieren?
Im Prinzip geht das schon seit vielen Jahrzehnten so,
also mit Packages kompilieren und auch Sprachen einbinden.

Delphi selber gibt es aber nur in 4 Sprachen ... Englisch, Deutsch, Französisch und Italienisch.
Ich hatte mich schon immer gefragt, warum nicht auch auf Russisch, Indisch oder Chinesisch, vorallem wo Delphi dort so verbreitet sein soll, bzw. viele Programmierer und Firmen von dort sind. (OK, aktuell will eh keiner mehr das für "Die" übersetzen, falls Delphi (US-Hochtechnologie) nicht sowieso auf der Embargoliste steht)


Vor allem für eigene Ressourcen siehe
https://docwiki.embarcadero.com/RADS...anager_-_Index


Wie gesagt, über BDSSetLang stellt man ein, was für Ressourcen direkt einkompiliert werden sollen. (bzw. das wurde auch einmal beim Installieren ausgewählt)

Wenn andere Sprachen (außer Englisch) installiert wurden, dann gibt es dort überall mehrere Unterverzeichnisse wie "de" (die vorkompilierten DCU/DFM und BPL sind immer englisch, abgesehn von diesen Sprach-Unterverzeichnissen)
C:\Program Files (x86)\Embarcadero\Studio\22.0\source\
C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\

siehe Tools > Optionen > Sprace > Delphi > Bibliothek - Übersetzt
im Vergleich zu ...> Delphi > Bibliothek
$(LANGDIR) entspricht der dort eingestellten Sprache

Und auch für eigene Projekte (Projektoptionen) kann man in den Suchpfaden sowas benutzen
z.B. da in die Suchpfade Dieses vor einem sprachlosen Verzeichnis
...;irgendwas\$(LANGDIR);irgendwas;...




Oder eben einfach mit Laufzeit-Packages kompilieren (Codes und Ressourcen der VCL nicht in die eigene EXE einkompilieren)
Projektoptionen > Packages > Laufzeitpackages
und dort alle genutzten Packages (oder einfach alle Registrierten) angeben
rtl;vcl;...

Dann natürlich nicht vergessen diese Packages auch mitzugeben (ins Verzeichnis der EXE legen)
C:\Program Files (x86)\Embarcadero\Studio\22.0\Redist\
Hier für Win32 entsprechend rtl280.bpl vcl280.bpl und die zugehörgen .de aus dem Win32-Ordner
Ja, alle Dateien in diesem Verzeichnis können und dürfen weitergegeben werden. (zusammen mit einem Kompilat aus Delphi)
Und um auszuprobieren, ob man was vergessen hat, z.B. https://www.delphipraxis.net/207151-...s-sandbox.html (irgendein ein sauberes Windows, wo kein Delphi installiert ist)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
MatthiasFehr

Registriert seit: 4. Mär 2011
Ort: Franken (D)
34 Beiträge
 
Delphi 12 Athens
 
#4

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 26. Okt 2022, 00:43
Vielen Dank für die schnelle und umfassende Antwort - sehr hilfreich!

Ich habe parallel noch einen Lösungsansatz gefunden, einen eigenen Input erzeugen:
https://www.swissdelphicenter.ch/en/...ode.php?id=709
Matthias Fehr
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 26. Okt 2022, 00:57
Alternativ kannst Du auch meine InputQueryEx Methode nutzen.
Geschrieben für CodeTyphon (FreePascal), mit ein paar Modifikationen schnurrt das auch unter Delphi.
Bietet viele optionale features (wie zum Beispiel "unendlich" viele Abfragen innerhalb einer Query)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 26. Okt 2022, 01:41
Datei > Neu > Weitere... > Delphi-Projekte > Einzelne Dateien > ...
z.B. Dialogfeld "Passwort"
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#7

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 27. Okt 2022, 21:48
Wenn die ganze Anwendung immer komplett Englisch sein soll, kann man im Delphi Installer ja Englisch installieren und mit BdsSetLang aus dem bin Ordner wechseln.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 28. Okt 2022, 14:28
Das Ganze geht noch viel einfacher:

Unter Tools->Options->IDE->Environment Variables->User System Override eine neue Variable "LANGDIR" definieren un da den Wert leer lassen. So werden alle englischen Resourcen in das Programm kompiliert. Will man wieder deutsche Texte, den LANGDIR Wert auf "DE" setzen. Diese Vorgabe kann man auch mit dem bds\bin\BDSSetLang.exe Tool umstellen. Das mit der Environment Variable geht aber meiner Meinung nach einfacher.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#9

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 28. Okt 2022, 15:50
Nja, ich hatte mir BDSSetLang jetzt mal in Tools eingerichtet, um es darüber schnell öffnen zu können.

Auch wenn es dieses Environment ändert (in der Registry), wird das nicht sofort zur Laufzeit gehen.
Egal, ich muß eh die IDE neu starten, damit es die IDE aktualisiert.

Mal sehn, vielleicht kann Delphi ja irgendwann auch mal besser mit Sprachen umgehn.
Für die IDE mag es OK sein, dass nicht so viel unterstützt wird, aber für RTL/VCL sollte es schon mehr Sprachen geben. (z.B. Sächsisch und Österreichisch)
und https://quality.embarcadero.com/browse/RSP-39676
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#10

AW: Vcl.Dialogs.InputQuery Button Sprache wechseln

  Alt 28. Okt 2022, 19:31
Ähm, EMBT wollte mal die mitgelieferte ITE ganz abschaffen...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:14 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