示例#1
0
        private I18N(II18NStringRepository i18NStringRepository)
        {
            this.i18NStringRepository = i18NStringRepository;

            var files = Directory.GetFiles(
                Application.streamingAssetsPath + "/i18n", "*.json", SearchOption.TopDirectoryOnly);

            foreach (var file in files)
            {
                try
                {
                    var json = File.ReadAllText(file);
                    var data = JsonConvert.DeserializeObject <I18NDictionary>(json);

                    Dictionaries.Add(data.Name, new I18NDictionaryInfo(data.Name, data.DisplayName));
                }
                catch (Exception exception)
                {
                    Debug.LogError(exception.Message);
                }
            }

            this.fallback = LoadDictionary("en-US");

            ChangeLocale(GetDefaultLocale());
        }
示例#2
0
 public void ChangeLocale(string locale)
 {
     this.active = Dictionaries.ContainsKey(locale) ? LoadDictionary(locale) : this.fallback;
 }