AGB  ·  Datenschutz  ·  Impressum  







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

ISO 639-1 Sprachcode auslesen

Ein Thema von 3_of_8 · begonnen am 3. Feb 2006 · letzter Beitrag vom 5. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#1

ISO 639-1 Sprachcode auslesen

  Alt 3. Feb 2006, 19:12
Morgen.

Ich will den ISO 639-1 Sprachcode der momentanen Systemsprache ermitteln. Mit GetSystemDefaultLangID kriegt man ja einen Word-Wert, aber der hilft mir ned wirklich weiter...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: ISO 639-1 Sprachcode auslesen

  Alt 4. Feb 2006, 17:51
Es sind zwar noch nicht ganz 24 Stunden, aber ich erlaube es mir trotzdem mal, zu *push*en.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: ISO 639-1 Sprachcode auslesen

  Alt 4. Feb 2006, 18:31
Hi,
ich glaube mit dem ISO Standard dürfte es etwas schwer werden. Der ist erst in .Net verfügbar. Da musst du nur mal auf den MSDN Seiten nach dem NLS SDK gucken, dürfte eine Funktion GetSystemDefaultLocaleName geben, die arbeitet (imho) nach ISO 639, weiß aber nicht genau ob -1 oder -2.
Unter Win32 glaube ich nicht, dass der schon so verfügbar war. Aber auch dort denke ich wirst du eher bei MSDN fündig. Sorry dass ich dir nicht direkt helfen kann.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: ISO 639-1 Sprachcode auslesen

  Alt 4. Feb 2006, 18:31
Hallo Manuel,

wenn du die ersten 2 Buchstaben des Funktionsergebnisses abgreifst, dann solltest du nach Windows-Konvention die zweistellige Sprachkennung nach ISO 639-1 erhalten.

Delphi-Quellcode:
function AbbrevLangName: String;
var
  buffer: array [0..5] of Char;
begin
  SetString(Result, buffer,
    GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, @buffer, sizeOf(buffer))
  );
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: ISO 639-1 Sprachcode auslesen

  Alt 4. Feb 2006, 19:52
Also einfach die ersten zwei Zeichen nehmen geht nicht, da das bei vielen Sprachen nicht so ist.

Aber ich habe jetzt eine andere Möglichkeit gefunden.

Dafür bräuchte ich aber die Eigenbezeichnung der Sprache ODER die englische Bezeichnung. Aber nicht Deutsch (Deutschland) sondern nur Deutsch.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: ISO 639-1 Sprachcode auslesen

  Alt 4. Feb 2006, 22:34
Oft liefert der Code das richtige Ergebnis, aber leider nicht immer. Wenn du mehr Sicherheit brauchst, dann hilft es das CissoUtil Automationsobjekt aus der Bibliothek IXSSO.DLL zu importieren. Danach geht sowas:

Delphi-Quellcode:
// uses Cisso;
ShowMessage(CissoUtil.LocaleIDToISO(GetUserDefaultLCID));
marabu
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: ISO 639-1 Sprachcode auslesen

  Alt 4. Feb 2006, 22:37
Wo finde ich diese DLL?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

Re: ISO 639-1 Sprachcode auslesen

  Alt 5. Feb 2006, 00:14
Schau mal unter C:\WINDOWS\system32 oder besser %systemroot%\system32
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: ISO 639-1 Sprachcode auslesen

  Alt 5. Feb 2006, 00:42
Ich hab nicht genau gelesen.

OK, woher bekomme ich die Header für diese DLL?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: ISO 639-1 Sprachcode auslesen

  Alt 5. Feb 2006, 08:29
So erzeugst du dir die Unit CISSO, die du dann in ein Package deiner Wahl installieren kannst:

Code:
c:
cd \Programme\Borland\Delphi7\Imports\Source
tlibimp -Fe- %windir%\system32\ixsso.dll
Danach ziehst du die Komponente CissoUtil aus der Palettenseite Servers auf eine Form und los geht es.

Grüße vom marabu
  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 17:17 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