Пример #1
0
 /// ------------------------------------------------------------------------------------
 /// <summary>
 /// Adds the specified language to the list of all language names.
 /// </summary>
 /// ------------------------------------------------------------------------------------
 public void AddLanguageNames(string langName)
 {
     if (!LanguageNames.Contains(langName))
     {
         LanguageNames.Add(langName);
     }
 }
Пример #2
0
        /// <summary>
        /// Finds all name variants of the language.
        /// </summary>
        /// <param name="languageCode">language code</param>
        /// <returns></returns>
        public IReadOnlyDictionary <AltVariant, string> FindLanguageNames(string languageCode)
        {
            IReadOnlyDictionary <AltVariant, string> languageNames;

            try
            {
                CultureInfo ci = new CultureInfo(languageCode);

                languageNames = LanguageNames.FindLocaleValues(ci.Name);

                if (!languageNames.Any())
                {
                    languageNames = LanguageNames.FindLocaleValues(ci.TwoLetterISOLanguageName);
                }

                if (!languageNames.Any())
                {
                    languageNames = LanguageNames.FindLocaleValues(ci.ThreeLetterISOLanguageName);
                }
            }
            catch (CultureNotFoundException)
            {
                languageNames = new ReadOnlyDictionary <AltVariant, string>(new Dictionary <AltVariant, string>());
            }

            return(languageNames);
        }
Пример #3
0
        public static bool XML2MC(string file, LanguageNames language)
        {
            StreamReader sr = new StreamReader(file, Encoding.Unicode, true);
            StreamWriter sw = new StreamWriter(file + (".") + Enum.GetName(typeof(LanguageNames), language), false, Encoding.Unicode);

            XmlDocument doc = new XmlDocument();

            doc.Load(sr);

            XmlElement  root      = doc.DocumentElement;
            XmlNodeList itemsNode = root.SelectNodes("item");

            XmlNode ndMessageId = null;
            XmlNode ndSeverity  = null;
            XmlNode ndFacility  = null;
            //XmlNode ndSymbolicName=null;
            XmlNode         ndLanguage = null;
            XmlNode         ndText     = null;
            XmlCDataSection cdata      = null;

            foreach (XmlNode itemNode in itemsNode)
            {
                ndMessageId = itemNode.SelectSingleNode("MessageId");

                sw.WriteLine(string.Format("MessageId={0}", ndMessageId.InnerText));


                ndSeverity = itemNode.SelectSingleNode("Severity");
                sw.WriteLine(string.Format("Severity={0}", ndSeverity.InnerText));

                ndFacility = itemNode.SelectSingleNode("Facility");
                if (ndFacility != null)
                {
                    sw.WriteLine(string.Format("Facility={0}", ndFacility.InnerText));
                }

                ndText = itemNode.SelectSingleNode("Text");
                //ndSymbolicName = itemNode.SelectSingleNode("SymbolicName");
                //sw.WriteLine(string.Format("SymbolicName={0}", ndSymbolicName.InnerText));
                sw.WriteLine(string.Format("SymbolicName={0}", ndText.Attributes["SymbolicName"].Value));

                sw.WriteLine(string.Format("Language={0}", Enum.GetName(typeof(LanguageNames), language)));

                sw.WriteLine(ndText.InnerText);

                sw.WriteLine(".");
                sw.WriteLine("");
            }

            sr.Close();
            sw.Close();

            return(true);
        }
Пример #4
0
 public static string GetLanguageDisplayName(LanguageNames languageName)
 {
     switch (languageName)
     {
         case LanguageNames.ChineseSimplified:
             return "Simplified Chinese";
         case LanguageNames.ChineseTraditional:
             return "Traditional Chinese";
         case LanguageNames.PortugueseBrazilian:
             return "Brazilian Portuguese";
         case LanguageNames.SpanishSouthAmerica:
             return "South America Spanish";
         default:
             return languageName.ToString();
     }
 }
Пример #5
0
        static int LanguageIdResolver(object _null, string name)
        {
            int id = TypeExtensions.kNone;

            if (name != kNoneName)
            {
                id = LanguageNames.FindIndex(name.Equals);

                if (id.IsNone())
                {
                    throw new KeyNotFoundException(string.Format("No language is registered with the name '{0}'",
                                                                 name));
                }
            }

            return(id);
        }
Пример #6
0
        public void AddNewLanguage()
        {
            string languageName = "English";

            LanguageNames.Add(languageName);
            Language english = new Language();

            english.WordLibrary.Add("roomsButton", "Rooms");
            english.WordLibrary.Add("charactersButton", "Characters");
            english.WordLibrary.Add("literatureButton", "Literature");
            english.WordLibrary.Add("settingsButton", "Settings");
            english.WordLibrary.Add("exitButton", "Exit");
            english.WordLibrary.Add("profileSettingsButton", "Profile edit");
            english.WordLibrary.Add("countRoomsPredictionAnTextBlock", "Count rooms");
            english.WordLibrary.Add("countCharactersAnTextBlock", "Count characters");
            Languages.Add(languageName, english);
            WriteFileLanguage(english, languageName);
            WriteFileLanguageList(LanguageNames);
        }
Пример #7
0
        public static List<string> GetMissingKeys(string englishFilePath, LanguageNames languageName)
        {
            if (languageName == LanguageNames.English)
            {
                return null;
            }
            if (!ValidateTranslationFile(englishFilePath))
            {
                return null;
            }

            string validatingFilePath = englishFilePath.Replace("English", languageName.ToString());

            if (!ValidateTranslationFile(validatingFilePath))
            {
                return null;
            }

            List<string> originalKeys = GetTranslationKeys(englishFilePath);
            List<string> validatingKeys = GetTranslationKeys(validatingFilePath);
            List<string> missingKeys = new List<string>();

            if (validatingKeys == null || validatingKeys.Count == 0)
            {
                return originalKeys;
            }
            else
            {
                foreach (string key in originalKeys)
                {
                    if (!validatingKeys.Contains(key))
                    {
                        missingKeys.Add(key);
                    }
                }
            }

            return missingKeys;
        }
Пример #8
0
        /// <summary>
        /// Loads all data. Should be positioned on the start
        /// if the second data hunk.
        /// </summary>
        /// <param name="dataReader"></param>
        public ExecutableData(IDataReader dataReader)
        {
            // TODO: For now we search the offset of the filelist manually
            //       until we decode all of the data.
            dataReader.Position = (int)dataReader.FindString("0Map_data.amb", 0) - 184;

            // TODO ...
            FileList   = new FileList(dataReader);
            WorldNames = new WorldNames(dataReader);
            Messages   = new Messages(dataReader);
            if (dataReader.ReadDword() != 0)
            {
                throw new AmbermoonException(ExceptionScope.Data, "Invalid executable data.");
            }
            AutomapNames   = new AutomapNames(dataReader);
            OptionNames    = new OptionNames(dataReader);
            SongNames      = new SongNames(dataReader);
            SpellTypeNames = new SpellTypeNames(dataReader);
            SpellNames     = new SpellNames(dataReader);
            LanguageNames  = new LanguageNames(dataReader);
            ClassNames     = new ClassNames(dataReader);
            RaceNames      = new RaceNames(dataReader);
            AbilityNames   = new AbilityNames(dataReader);
            AttributeNames = new AttributeNames(dataReader);
            AbilityNames.AddShortNames(dataReader);
            AttributeNames.AddShortNames(dataReader);
            ItemTypeNames = new ItemTypeNames(dataReader);
            AilmentNames  = new AilmentNames(dataReader);
            UITexts       = new UITexts(dataReader);

            // TODO: There is a bunch of binary data (gfx maybe?)

            // TODO: Then finally the item data comes ...

            // TODO ...
        }
        public static string GetLanguageCodeByName(LanguageNames lanName)
        {
            Singleton <LanguageCodeConstants> s = new Singleton <LanguageCodeConstants>(Create);

            return(s.Value.GetLanguageCode(lanName));
        }
 public string GetLanguageCode(LanguageNames lanName)
 {
     return(GetLanguageCode(lanName.ToString()));
 }
Пример #11
0
        public override void DumpCondition(LuaTextWriter output)
        {
            string matchingLanguageCount;

            if (Any)
            {
                matchingLanguageCount = "#character.Languages";
            }
            else
            {
                matchingLanguageCount = $"#filter(character.Languages, function (lang)\n{string.Join("", LanguageNames.Select(n => $"if lang.Name == \"{n}\" then return true end\n").Concat(LanguageTypes.Select(t => $"if lang.Type == \"{t}\" then return true end\n")))} end)";
            }
            var condition = $"({matchingLanguageCount}) >= {Count}";

            if (Inverted)
            {
                condition = $"not ({condition})";
            }

            output.Write(condition);
        }
Пример #12
0
 public ConfirmDialog(LanguageNames language) : this()
 {
     DisplayBlock.Text = App.Tools.App.GetLocalizationTextFromResource(language);
 }
Пример #13
0
 public void ShowPopup(LanguageNames name, bool isError = false)
 {
     ShowPopup(App.Tools.App.GetLocalizationTextFromResource(name), isError);
 }
Пример #14
0
        /// <summary>
        /// Finds the language code.
        /// </summary>
        /// <param name="countryName">Name of the country.</param>
        /// <returns></returns>
        public string FindLanguageCode(string countryName)
        {
            var value = LanguageNames.FirstOrDefault(i => i.Value == countryName);

            return(value.Key);
        }
Пример #15
0
 /// <inheritdoc/>
 public string GetLocaleString(LanguageNames languageName)
 => ResourceLoader.GetForCurrentView().GetString(languageName.ToString());