11
votes

Obtenir le nom de la langue de la chaîne locale à l'aide de .NET? Ex: EN_US => anglais

Comment puis-je trouver la langue pour une locale donnée?

Exemple: entrée: EN_US Sortie: anglais

Utiliser les bibliothèques .NET? J'ai essayé la classe de cultureinfo, mais je ne trouve pas quelque chose d'utile.

merci!


4 Réponses :


18
votes

Ne pas utiliser le constructeur de cultureInfo . Il est plus rapide d'utiliser la méthode static getcultureInfo car cette méthode est mise en cache et renvoie un objet immuable (codon) cultureInfo objet.

selon le Facebook SDK Documentation concernant la localisation , il est prudent de supposer que vous pouvez remplacer le soulignement par un tiret afin d'autoriser .net comprendre les paramètres régionaux.

Facebook Locales Suivez l'ISO Langue et les codes de pays respectivement, concaténé par un soulignement.

Le format de base est '' ll_cc '' '', où '' ll '' est un code de langue de deux lettres, et '' cc '' est un pays de deux lettres code. Par exemple, 'EN_US' représente US Anglais.

Selon si vous avez besoin du nom pour apparaître en anglais, quelle que soit la langue du système d'exploitation, utilisez xxx

si vous avez besoin du nom dans la langue de la langue de Le système d'exploitation, utilisation: xxx


1 commentaires

Merci. Mais remarquez que comme @chrissnowden a dit, cela ne fonctionne qu'avec en-nous. Pas avec EN_US.



0
votes

Vous pouvez utiliser le code suivant

Dim culture1 As CultureInfo = New CultureInfo("en-US")
Dim t As Thread = Thread.CurrentThread
Dim currentCulture As CultureInfo = t.CurrentCulture
Dim currentUICulture As CultureInfo = t.CurrentUICulture

'*** display cultures in console
Console.WriteLine("Current Culture: " & currentCulture.Name)
Console.WriteLine("Current UI Culture: " & currentUICulture.Name)


0 commentaires

10
votes

Vous devez utiliser en-nous non en_us avec code comme: xxx

sortie: anglais (États-Unis)


2 commentaires

Devrais-je utiliser la méthode de remplacement? "_" => "-" Parce que je reçois la chaîne locale de Facebook ..


Oui, ce serait la meilleure approche pour formater la chaîne locale dans le bon format.



2
votes
System.Globalization.CultureInfo.GetCultureInfo("en-US").EnglishName;

0 commentaires