Example #1
0
        /// <inheritdocs />
        public CultureDictionary GetDictionary(CultureInfo culture, bool disableCache = false)
        {
            var cacheKeyPrefix = CacheKeyPrefix + culture.Name;

            if (disableCache)
            {
                _cache.Remove(cacheKeyPrefix);
            }

            var cachedDictionary = _cache.GetOrCreate(cacheKeyPrefix, k => new Lazy <CultureDictionary>(() =>
            {
                var rule = DefaultPluralRule;

                foreach (var provider in _pluralRuleProviders)
                {
                    if (provider.TryGetRule(culture, out rule))
                    {
                        break;
                    }
                }

                var dictionary = new CultureDictionary(culture.Name, rule ?? DefaultPluralRule);
                _translationProvider.LoadTranslations(culture, dictionary);

                return(dictionary);
            }, LazyThreadSafetyMode.ExecutionAndPublication));

            return(cachedDictionary.Value);
        }
Example #2
0
        public CultureDictionary GetDictionary(CultureInfo culture)
        {
            var cachedDictionary = _cache.GetOrCreate(CacheKeyPrefix + culture.Name, k => new Lazy <CultureDictionary>(() =>
            {
                PluralizationRuleDelegate rule = DefaultPluralRule;

                foreach (var provider in _pluralRuleProviders)
                {
                    if (provider.TryGetRule(culture, out rule))
                    {
                        break;
                    }
                }

                var dictionary = new CultureDictionary(culture.Name, rule);
                _translationProvider.LoadTranslations(culture.Name, dictionary);

                return(dictionary);
            }, LazyThreadSafetyMode.ExecutionAndPublication));

            return(cachedDictionary.Value);
        }