Ich brauche einen Weg zu erkennen, ob die Thread.CurrentThread.CurrentCulture
eine bestimmte Sprache verwendet.Alternative Möglichkeit festzustellen, ob eine CultureInfo eine bestimmte Sprache verwendet?
Insbesondere muss ich erkennen, ob das CurrentCulture
Objekt unterstützt/verwendet/ist "Englisch", unabhängig von dem Land/der Region - aber, es gibt eine Möglichkeit, die ich auch für andere Sprachen überprüfen möchte.
Ich weiß, dass jede englische Sprache CultureInfo
Objekte Name
s wird mit en-
und dann der Region (US
, GB
etc.) vorangestellt wird - nach MSDN's Table of Language Culture Name and Codes.
So konnte ich einfach überprüfen, ob die aktuelle Kultur Name "beginnt mit" dem en-
Präfix:
var currentCultureName = Thread.CurrentThread.CurrentCulture.Name;
if (currentCultureName.StartsWith("en-"))
{
// We have an English language culture
}
EDIT: Ähnlich (wie Evk hingewiesen) - wenn ich die TwoLetterISOLanguageName
verwenden waren, ich konnte am Ende mit dem gleichen Ergebnis:
var twoLetterISOLanguageName =
Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
if (twoLetterISOLanguageName.Equals("en", StringComparison.InvariantCultureIgnoreCase))
{
// We have an English language culture
}
gibt es eine Alternative, oder m eine typensichere Art, dies zu überprüfen, mit der Möglichkeit, andere Sprachen erkennen zu müssen (z.B. Französisch, Deutsch usw.)? - um zu sparen, eine potentiell große switch
Aussage schreiben zu müssen?
Oder ist das, was ich oben verwende - und mit einer switch
Aussage der beste Ansatz?
Vielen Dank im Voraus für Ihre Hilfe und Vorschläge :)
Was möchten Sie erreichen? – CharithJ
@CharithJ - Ich muss nur darauf hinweisen, dass es nicht speziell mit lokalisierten Strings zu tun hat (ich verwende dafür sprachspezifische .resx-Dateien). Ich habe eine Konfigurationsdatei für App-spezifische Einstellungen für jede Kundenversion der App. Insbesondere gibt es einen String, der sich in dieser Konfiguration befindet (nennen wir ihn 'WelcomeText') - also möchten einige Kunden vielleicht" Hallo "oder" Willkommen "(alle Englisch) usw. Aber es gibt einen bestimmten Kunden, der möchte App in verschiedenen Sprachen verfügbar, und ich möchte überprüfen, ob ihre Sprache "nicht Englisch" in Code ist, und verwenden Sie dann die lokalisierte Version, basierend auf dieser Sprache. –
Wie viele verschiedene Sprachen unterstützen Sie? – CharithJ