public void selectLanguage(I18n.Language language)
    {
        I18n.changeLanguageTo(language);
        LanguageMainMenuItem lmmi;

        foreach (MainMenuItem item in _items)
        {
            lmmi = item as LanguageMainMenuItem;
            if (null != lmmi)
            {
                lmmi.updateSelection();
            }
        }
    }
Пример #2
0
    public void loadFromFile(string filePath, I18n.Language lang)
    {
        Logger.Log("I18nLoader::loadFromFile(" + filePath + ")", Logger.Level.INFO);

        XmlDocument xmlDoc = Tools.getXmlDocument(filePath);

        XmlNodeList translations = xmlDoc.GetElementsByTagName(I18nXMLTags.ITEM);

        reinitVars();

        foreach (XmlNode translation in translations)
        {
            try {
                _code = translation.Attributes[I18nXMLTags.CODE].Value;
            }
            catch (NullReferenceException exc) {
                Logger.Log("I18nLoader::loadFromFile bad xml, missing field \"" + I18nXMLTags.CODE + "\"\n" + exc, Logger.Level.WARN);
                continue;
            }
            catch (Exception exc) {
                Logger.Log("I18nLoader::loadFromFile failed, got exc=" + exc, Logger.Level.WARN);
                continue;
            }

            Logger.Log("I18nLoader::loadFromFile got " + I18nXMLTags.CODE + "=" + _code
                       , Logger.Level.TRACE);

            if (checkString(_code))
            {
                try {
                    _translation = translation.Attributes[I18nXMLTags.TRANSLATION].Value;
                }
                catch (NullReferenceException exc) {
                    Logger.Log("I18nLoader::loadFromFile bad xml, missing field \"" + I18nXMLTags.TRANSLATION + "\"\n" + exc, Logger.Level.WARN);
                    continue;
                }
                catch (Exception exc) {
                    Logger.Log("I18nLoader::loadFromFile failed, got exc=" + exc, Logger.Level.WARN);
                    continue;
                }

                if (checkString(_translation))
                {
                    Logger.Log("I18nLoader::loadFromFile adding " + I18nXMLTags.TRANSLATION
                               + "=" + _translation + " for \"" + I18nXMLTags.CODE + "\"=" + _code + "\n"
                               , Logger.Level.TRACE);
                    _dicos[lang].Add(_code, _translation);
                }
                else
                {
                    Logger.Log("I18nLoader::loadFromFile bad xml, missing " + I18nXMLTags.TRANSLATION
                               + " for \"" + I18nXMLTags.CODE + "\"=" + _code + "\n"
                               , Logger.Level.WARN);
                }
            }
            else
            {
                Logger.Log("I18nLoader::loadFromFile Error : missing attribute " + I18nXMLTags.CODE + " in translation node", Logger.Level.WARN);
            }
            reinitVars();
        }
    }