2017-07-04 1 views
0

Travailler avec nopCommerce 3.9 comment trouver le LanguageId (l'ID stocké dans la base de données nopCommerce) pour une langue si je connais seulement la culture de la langue?Comment obtenir l'identifiant d'une langue dans nopCommerce 3.9?

Par exemple, quand je veux ajouter une ressource locale dans la méthode Install() de mon plug-in, je peux y arriver en spécifiant la culture en tant que valeur de chaîne

this.AddOrUpdatePluginLocaleResource("Plugins.Payment.CheckMoneyOrder.AdditionalFee", 
    "Additional fee", "en-US"); 

Mais d'autres méthodes nécessitent l'identification de la langue et de don Ne pas accepter une chaîne de culture. (Par exemple, la méthode d'extension SaveLocalizedSetting pour les paramètres)

checkMoneyOrderPaymentSettings.SaveLocalizedSetting(x => x.DescriptionText, 
        languageId, //how to find out the ID for "en-US" 
        "my localized text"); 

Comment puis-je obtenir l'ID pour « en-US » si je ne connais que la ressource locale à ce moment de l'exécution?

+0

Quel ID de langue? Voulez-vous dire 'CultureInfo.GetCultureInfo (" en-US "). LCID' ou similaire? –

+0

L'ID de langue qui est stocké dans la base de données nopCommerce (j'ai mis à jour ma question) – Fabiano

+0

Pourquoi ne pas le faire de la même manière, comme nopCommerce le fait? checkMoneyOrderPaymentSettings.SaveLocalizedSetting (x => x.DescriptionText, localized.LanguageId, localized.DescriptionText); – Tomu

Répondre

0

Vous pouvez essayer le code suivant. Ajoutez la référence Nop.Services à votre plugin.

var langId = _languageService.GetAllLanguages().Where(x => x.LanguageCulture == "en-US").FirstOrDefault().Id;