AGB  ·  Datenschutz  ·  Impressum  







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

Windows Sprache ermitteln

Ein Thema von TUX_der_Pinguin · begonnen am 9. Jul 2008 · letzter Beitrag vom 6. Feb 2009
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.764 Beiträge
 
Delphi 11 Alexandria
 
#21

Re: Windows Sprache ermitteln

  Alt 10. Jul 2008, 11:00
Warum willst Du das alles selber machen?

Nimm doch Sakuras feines Tool: http://www.wischnewski.tv/de/products/dw32pl.html

Sherlock
Oliver
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: Windows Sprache ermitteln

  Alt 10. Jul 2008, 11:35
Zitat von teebee:
Was kommt denn bei
Delphi-Quellcode:
Var Lang: String;

BufSize := GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SABBREVLANGNAME,Nil,0);
 SetLength(Lang,BufSize);
 GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SABBREVLANGNAME,PChar(Lang),BufSize);
heraus?
Mit den ersten beiden Zeichen müsstest Du eigentlich etwas anfangen können.
Gruß,teebee
Also mit deinem Vorschlag würde folgendes passieren

Beispiel 1:
WinXP Deutsch, Regional Einstellungen Russisch, Sprache Englisch => Russisch Meldungen (Richtig wäre Englisch)

Beispiel 2:
WinXP Deutsch, Regional Einstellungen Deutsch, Sprache Deutsch => Deutsche Meldungen (Ausnahmsweise korrekt)

Beispiel 3:
Vista Deutsch, Regional Einstellung Deutsch, Sprache Englisch => Deutsche Meldungen (Richtig wäre Englisch)


Mit "Richtig wäre" meine ich das ergebnis welches ich haben möchte.

Zitat von Sherlock:
Warum willst Du das alles selber machen?

Nimm doch Sakuras feines Tool: http://www.wischnewski.tv/de/products/dw32pl.html

Sherlock
Ich möchte mich ungern wiederholen ich will mein Programm nicht Lokalisieren mit solch einem Tool, da meine Anwendung
bereits Lokalisiert ist nur an dem Punkt wo die Meldungen kommen noch nicht, ich werde mein Programm nicht kompl. umschreiben.

Daher suche ich eine einfach Methode die gewünschte Information zu bekommen, was anscheind nicht geht.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#23

Re: Windows Sprache ermitteln

  Alt 10. Jul 2008, 11:46
Zitat von TUX_der_Pinguin:
Ich möchte mich ungern wiederholen ich will mein Programm nicht Lokalisieren mit solch einem Tool, da meine Anwendung
bereits Lokalisiert ist nur an dem Punkt wo die Meldungen kommen noch nicht, ich werde mein Programm nicht kompl. umschreiben.
Irgendwo und irgendwie hast Du ja die Lokalisierung schon eingebaut.
Wieso funktioniert das nur bei diesen Meldungen noch nicht?

Solltest vielleicht Dein Konzept überdenken, anstatt einfach nur einen Flicken drauf zu kleben.
Manchmal tut man sich leichter, wenn man gewisse Dinge umgebaut oder über den Haufen geworfen hat.

Wenn Du nicht bereit bist, Änderungen vorzunehmen, warum hast Du dann um Ideen gefragt?
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: Windows Sprache ermitteln

  Alt 10. Jul 2008, 12:20
Beim Programmstart weiß ich nicht welche Sprache eingestellt ist, da diese Information in einer ini Datei liegt die erst
noch geladen werden muß, ist diese nicht vorhanden gibts ein weiteres Problem um diese Information zu bekommen.
Dann sind die Texte selbst bis auf die Fehlermeldungs Texte in einer DLL in Form von Tabellen. Bisher hatte ich die
Fehlermeldungen in Englisch angezeigt und wollte nur jetzt wissen ob mir Windows irgendwie verraten kann welche
Sprache eingestellt ist unabhänig von irgendwelchen Regionaleinstellungen etc.

Klar gibt es Tools von Sakura, GnuText, Multilizer und vieles mehr die sicherlich auch alle ihren Zweck erfüllen und ich
auch bereit bin mir diese mal näher anzusehen nur da ich meine Anwendung bereits auf meine art lokalisiert habe möchte ich
nicht für solch eine Kleinigkeit meine ganze Anwendung umschreiben was sicherlich einige Zeit in Anspruch nehmen würde.

Und daher gebe ich auf, ich wollte nur wissen ob es eine Möglichkeit gibt die Sprache zuermitteln, aber mir kann anscheind
niemand weiter helfen also lasse ich es sein, ich danke allen Beteiligten für ihre mühe und ihre Zeit.

Wünsche noch einen schönen Tag.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#25

Re: Windows Sprache ermitteln

  Alt 11. Jul 2008, 09:52
WARUM fragst Du den User nicht einfach, welche Sprache bevorzugt wird?

Auf guten, barrierefreien Websites wird man doch auch gefragt!
  Mit Zitat antworten Zitat
kopernikus

Registriert seit: 8. Feb 2008
17 Beiträge
 
Delphi 10 Seattle Professional
 
#26

Re: Windows Sprache ermitteln

  Alt 6. Feb 2009, 12:58
Die WindowsAPI stellt vier verschiedene Abfragemöglichkeiten für die Sprache zur
Verfügung:

Regionale Einstellungen (locale):
---------------------------------
System:
GetSystemDefaultLangID

User:
GetUserDefaultLangID

Einstellungen für die Sprache (user interface):
-----------------------------------------------
(verfügbar erst ab Windows ME, bzw. 2000)
System:
GetSystemDefaultUILanguage

User:
GetUserDefaultUILanguage

Alle Funktionen geben als Ergebnis den "language identifier" zurück, z.B.
$407 für deutsch, &409 für englisch

Weitere Hinweise in " Platform SDK for Windows XP"

Implementierung unter Delphi 7:
-------------------------------
"GetSystemDefaultLangID" und "GetUserDefaultLangID" sind in "Windows.pas" deklariert.

"GetSystemDefaultUILanguage" und "GetUserDefaultUILanguage" fehlen und müssen
daher selbst deklariert werden.

Für Anwendungen unter Windows 2000 und neuer:

interface
...
{$EXTERNALSYM GetSystemDefaultUILanguage}
function GetSystemDefaultUILanguage: LANGID; stdcall;

{$EXTERNALSYM GetUserDefaultUILanguage}
function GetUserDefaultUILanguage: LANGID; stdcall;

implementation
...
function GetSystemDefaultUILanguage; external kernel32 name 'GetSystemDefaultUILanguage';
function GetUserDefaultUILanguage; external kernel32 name 'GetUserDefaultUILanguage';

Für eine Kompatibilität zu älteren Betriebssystem müssen diese beiden Deklarationen dynamisch
eingefügt werden (siehe Anhang).


Hinweis zu GnuGetText for Delphi:
---------------------------------
Die dort enthaltene Funktion "GetWindowsLanguage" fragt die regionalen Einstellungen ab,
was bei unterschiedlichen Sprach- und Regionaleinstellunegn zu falschen Ergebnissen führt.

Bsp:
Ein englisches Windows mit regionalen Einstellungen für Deutschland (Datum, Uhrzeit, etc.)
liefert $407 (deutsch) zurück. Als System-Sprache sollte aber englisch erkannt werden.

Das richtige Ergebnis liefert o.g. Funktion "GetUserDefaultUILanguage" (Ergebnis: $409).
Angehängte Dateien
Dateityp: zip winapi_192.zip (6,3 KB, 55x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 12:27 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