コード例 #1
0
        void initialize()
        {
            List<LanguageFile> currentLanguages = Locale.instance.languages;
            languages = new SystemLanguage[currentLanguages.Count];
            langFileCache = new Dictionary<SystemLanguage, LanguageFile>();
            for (int i = 0; i < currentLanguages.Count; i++) {
                languages[i] = currentLanguages[i].language;
                langFileCache.Add(languages[i], currentLanguages[i]);
            }
            entries = new Dictionary<string, GUILocaleRow>();

            string key,value;
            foreach(KeyValuePair<SystemLanguage, LanguageFile> langLangFileKVP in langFileCache){
                foreach(LanguageFileEntry langFileEntry in  langLangFileKVP.Value.entries){
                 	key = langFileEntry.key;
                    value = langFileEntry.value;
                    if (entries.ContainsKey(key)){
                        if (entries[key].values.ContainsKey(langLangFileKVP.Key))
                            Debug.LogError("something wrong, probably you have duplicates for "
                                           + langLangFileKVP.Key +" language");
                        else
                            entries[key].values.Add(langLangFileKVP.Key, value);
                    } else {
                        GUILocaleRow localeRow = new GUILocaleRow();
                        localeRow.key = key;
                        localeRow.values = new Dictionary<SystemLanguage, string>();
                        localeRow.values.Add(langLangFileKVP.Key, value);
                        entries.Add(key,localeRow);
                    }
                }
            }
        }