//using System.IO; //using Abp.Localization.Dictionaries.Xml; //using Abp.Localization.Sources; //namespace Abp.Localization.Dictionaries.Json //{ // /// // /// Provides localization dictionaries from json files in a directory. // /// // public class JsonFileLocalizationDictionaryProvider : LocalizationDictionaryProviderBase // { // private readonly string _directoryPath; // /// // /// Creates a new . // /// // /// Path of the dictionary that contains all related XML files // public JsonFileLocalizationDictionaryProvider(string directoryPath) // { // _directoryPath = directoryPath; // } // public override void Initialize(string sourceName) // { // var fileNames = Directory.GetFiles(_directoryPath, "*.json", SearchOption.TopDirectoryOnly); // foreach (var fileName in fileNames) // { // var dictionary = CreateJsonLocalizationDictionary(fileName); // if (Dictionaries.ContainsKey(dictionary.CultureInfo.Name)) // { // throw new AbpInitializationException(sourceName + " source contains more than one dictionary for the culture: " + dictionary.CultureInfo.Name); // } // Dictionaries[dictionary.CultureInfo.Name] = dictionary; // if (fileName.EndsWith(sourceName + ".json")) // { // if (DefaultDictionary != null) // { // throw new AbpInitializationException("Only one default localization dictionary can be for source: " + sourceName); // } // DefaultDictionary = dictionary; // } // } // } // protected virtual JsonLocalizationDictionary CreateJsonLocalizationDictionary(string fileName) // { // return JsonLocalizationDictionary.BuildFromFile(fileName); // } // } //}