Esempio n. 1
0
        public void SetLocalization(string code)
        {
            SelectedLocalization = AvailableLocalizations.First(a => a.Abbreviation.Equals(code));
            var translationsQuery =
                from keyvalues in Localization.Values.Where(a => a.Localization.Code.Equals(SelectedLocalization.Abbreviation))
                join keys in Localization.Keys
                on keyvalues.Key.Id equals keys.Id
                select new { keyvalues.Key.KeyName, keyvalues.KeyLocalizationValue };

            SelectedLocalization.Translations = new Dictionary <string, string>();
            foreach (var translation in translationsQuery)
            {
                SelectedLocalization.Translations.Add(translation.KeyName, translation.KeyLocalizationValue);
            }
        }
Esempio n. 2
0
        public LocalizationManager(IEnumerable <RealLocalization <TKeys> > realLocalizations, bool useAutoLocalization = true)
        {
            _realLocalizations = realLocalizations.ToArray();
            if (_realLocalizations.Length <= 0)
            {
                throw new ArgumentException($"At least one localization should be specified.", nameof(realLocalizations));
            }

            _fallbackLocalization = _realLocalizations.FirstOrDefault(loc => loc.Keys.IsFallback) ?? _realLocalizations.First();

            _systemLocalization = _realLocalizations.FirstOrDefault(localization => localization.CultureName == _defaultSystemCultureName);

            _useAutoLocalization = useAutoLocalization;
            InitializeAutoLocalization();

            _current = AvailableLocalizations.First();
        }