Example #1
0
        protected override void Awake()
        {
            base.Awake();

            _currentLanguage = new Language();
#if HOURAI_EVENTS
            _eventManager = Mediator.Global;
#endif

            _storageDirectory = Path.Combine(Application.streamingAssetsPath, localizationDirectory);
            var languages = Directory.GetFiles(_storageDirectory);
            _languages = new HashSet <string>(from file in languages
                                              where file.EndsWith(FileExtension)
                                              select Path.GetFileNameWithoutExtension(file));

            SystemLanguage systemLang  = Application.systemLanguage;
            string         currentLang = Storage.GetStoredLangaugeId(systemLang.ToIdentifier());
            if (!_languages.Contains(currentLang) || systemLang == SystemLanguage.Unknown)
            {
                log.Info("No language data for \"{0}\" found. Loading default language: {1}", _defaultLanguage, currentLang);
                currentLang = _defaultLanguage;
            }
            LoadLanguage(currentLang);
            Storage.SetStoredLanguageId(currentLang);

            if (_dontDestroyOnLoad)
            {
                DontDestroyOnLoad(this);
            }
        }
Example #2
0
 /// <summary> Converts a SystemLanugage value into a CultureInfo. </summary>
 /// <param name="systemLanguage"> the SystemLanugage value to map </param>
 /// <returns> the corresponding CultureInfo </returns>
 public static CultureInfo ToCultureInfo(this SystemLanguage systemLanguage)
 {
     if (systemLanguage == SystemLanguage.Unknown)
     {
         return(CultureInfo.InvariantCulture);
     }
     return(new CultureInfo(systemLanguage.ToIdentifier()));
 }