public LocalizationManager(ILocalizationManagerSettings settings,
                                   ILocalizationDictionaryProvider localizationDictionaryProvider,
                                   ILanguageProvider languageProvider,
                                   ILocalizationDictionaryParser localizationDictionaryParser)
        {
            _settings = settings ?? new LocalizationManagerSettings();
            _localizationDictionaryProvider = localizationDictionaryProvider ??
                                              new DefaultResourcesLocalizationDictionaryProvider(_settings,
                                                                                                 localizationDictionaryParser, languageProvider);

            _unknownKeyService = new UnknownKeyService(_settings.UnknownKeyPolitics, _settings.DefaultString);
            try
            {
                _dictionary = _localizationDictionaryProvider.LoadDictionary();
            }
            catch (DataException e)
            {
                if (_settings.TestMode)
                {
                    Debug.LogError($"{PackagePrefix} {e.Message}");
                }
            }
        }
 public void ChangeLanguage(SystemLanguage language)
 {
     _dictionary = _localizationDictionaryProvider.LoadDictionary(language);
 }