Code-Beispiel
Welche Systemsprache ist eingestellt (Windows / Linux)
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
k. A. | Jojo | 16.12.2008 |
Unter Windows kann man mit dem WinAPI-Befehl GetLocaleInfo diverse Informationen über die gewählte Systemsprache erhalten, unter Linux mithilfe des Shell-Befehls locale. Man kann mit beiden Befehlen den Namen der Sprache, das Land, in dem der Rechner steht und vieles mehr erfahren, dieses Beispiel beschränkt sich aber auf das Herausfinden des Kürzels der Systemsprache, da dieses auf beiden Systemen übereinstimmen sollte (z.B. "de" für Deutsch). Somit ist am meisten Plattformunabhängigkeit gewährleistet.
Dim langcode As String
#If Defined(__FB_WIN32__)
Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal As Integer, ByVal As Integer, ByVal As String, ByVal As Integer) As Integer
Scope
Dim sBuffer As String * 32, nResult As Integer
nResult = GetLocaleInfo(&h800, &h59, sBuffer, 32)
If nResult > 0 Then
langcode = Left(sBuffer, nResult - 1)
End If
End Scope
#ElseIf Defined(__FB_LINUX__)
Scope
Dim ff As Integer = FreeFile
Open Pipe "locale" For Input As ff
Dim sRetVal As String
Do Until EOF(ff)
Line Input #ff, sRetVal
If LCase(Left(sRetVal, 5)) = "lang=" Then
langcode = LCase(Mid(sRetVal, 6))
If InStr(langcode, "_") Then ' Schema: de_DE
langcode = Left(langcode, InStr(langcode, "_") - 1)
EndIf
Exit Do
EndIf
Loop
Close #ff
End Scope
#EndIf
Print "Das Kürzel der Systemsprache ist: " & langcode
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|