コード例 #1
0
ファイル: LanguageFile.cs プロジェクト: tsdworks/RAGLINK-2
 /// <summary>Loads all available language files from the specificed folder</summary>
 public static void LoadLanguageFiles(string LanguageFolder)
 {
     if (!Directory.Exists(LanguageFolder))
     {
         MessageBox.Show(@"The default language files have been moved or deleted.");
         LoadEmbeddedLanguage();
         return;
     }
     try
     {
         string[] LanguageFiles = Directory.GetFiles(LanguageFolder, "*.cfg");
         if (LanguageFiles.Length == 0)
         {
             MessageBox.Show(@"No valid language files were found.");
             LoadEmbeddedLanguage();
             return;
         }
         foreach (var File in LanguageFiles)
         {
             try
             {
                 Language l = new Language(File);
                 AvailableLanguages.Add(l);
             }
             catch { }
         }
     }
     catch
     {
         MessageBox.Show(@"An error occured whilst attempting to load the default language files.");
         LoadEmbeddedLanguage();
     }
 }
コード例 #2
0
ファイル: LanguageFile.cs プロジェクト: resonancellc/OpenBVE
 /// <summary>Loads all available language files from the specificed folder</summary>
 public static void LoadLanguageFiles(string LanguageFolder)
 {
     if (!Directory.Exists(LanguageFolder))
     {
         MessageBox.Show(@"The default language files have been moved or deleted.");
         LoadEmbeddedLanguage();
         return;
     }
     try {
         string[] LanguageFiles = Directory.GetFiles(LanguageFolder, "*.xlf");
         if (LanguageFiles.Length == 0)
         {
             MessageBox.Show(@"No valid language files were found.");
             LoadEmbeddedLanguage();
             return;
         }
         foreach (var File in LanguageFiles)
         {
             try
             {
                 using (FileStream stream = new FileStream(File, FileMode.Open, FileAccess.Read))
                 {
                     Language l = new Language(stream, System.IO.Path.GetFileNameWithoutExtension(File));
                     AvailableLanguages.Add(l);
                 }
             }
             catch { }
         }
     } catch {
         MessageBox.Show(@"An error occured whilst attempting to load the default language files.");
         LoadEmbeddedLanguage();
     }
 }
コード例 #3
0
        private void SetupLanguages()
        {
            foreach (var lang in this.languageService.GetLanguages())
            {
                AvailableLanguages.Add(lang);
            }

            CurrentLanguage = AvailableLanguages.FirstOrDefault(v => v.Id == this.languageService.DefaultLanguage.Id);
        }
コード例 #4
0
 /// <summary>Loads the embedded default language</summary>
 private static void LoadEmbeddedLanguage()
 {
     using (TextReader reader = new StringReader(Resource.en_US))
     {
         Language l = new Language(reader, "en-US");
         AvailableLanguages.Add(l);
     }
     CurrentLanguageCode = "en-US";
 }
コード例 #5
0
ファイル: LanguageFile.cs プロジェクト: tsdworks/RAGLINK-2
        /// <summary>Loads the embedded default language</summary>
        private static void LoadEmbeddedLanguage()
        {
            var thisAssembly = Assembly.GetExecutingAssembly();

            using (var stream = thisAssembly.GetManifestResourceStream("OpenBveApi.en-US.cfg"))
            {
                Language l = new Language(stream, "en-US");
                AvailableLanguages.Add(l);
            }
            CurrentLanguageCode = "en-US";
        }
コード例 #6
0
        /// <summary>
        /// Loads translation key/value pairs from all relevant JSON files within the Asset Manager.
        /// </summary>
        /// <param name="logger">The <see cref="ILogger" /> instance used within the sided API.</param>
        /// <param name="assetManager">The <see cref="IAssetManager" /> instance used within the sided API.</param>
        /// <param name="languageCode">The language code to use as the default language.</param>
        public static void LoadLanguage(ILogger logger, IAssetManager assetManager, string languageCode = "en", bool lazyLoad = false)
        {
            if (AvailableLanguages.ContainsKey(languageCode))
            {
                AvailableLanguages[languageCode].UseAssetManager(assetManager);
                AvailableLanguages[languageCode].Load(lazyLoad);
                return;
            }
            var translationService = new TranslationService(languageCode, logger, assetManager);

            translationService.Load();
            AvailableLanguages.Add(languageCode, translationService);
        }
コード例 #7
0
        private void LoadObject(IObjectStore data)
        {
            Name = data.GetString("name");
            ShortLog.Debug("Loading Race: " + Name);
            SizeSetting       = (CharacterSize)System.Enum.Parse(typeof(CharacterSize), data.GetString("size"));
            HeightRange       = DiceStrings.ParseDice(data.GetString("height"));
            WeightRange       = DiceStrings.ParseDice(data.GetString("weight"));
            BaseMovementSpeed = data.GetInteger("basemovementspeed");

            var languages = data.GetObject("languages");

            KnownLanguages.Add(languages.GetListOptional("known"));
            AvailableLanguages.Add(languages.GetListOptional("available"));
        }
コード例 #8
0
        public void AddAvailableLanguage(string languageShortName)
        {
            if (AvailableLanguages.Count == 0)
            {
                AvailableLanguages.Add(languageShortName);
            }
            else
            {
                foreach (string language in AvailableLanguages)
                {
                    if (language == languageShortName)
                    {
                        return;
                    }
                }

                AvailableLanguages.Add(languageShortName);
                return;
            }
        }
コード例 #9
0
        internal void Load(string filePath)
        {
            var xmlDocument = new XmlDocument();

            xmlDocument.Load(filePath);

            var fileNamePart = filePath.Split('\\').Last().Split('.');
            var languageId   = fileNamePart.First().Split('_').Last().ToLowerInvariant();

            _currentFileNameNoExtension = fileNamePart.First().Split('_').First();
            if (!AvailableLanguages.Contains(languageId))
            {
                AvailableLanguages.Add(languageId);
            }

            var rootNode = xmlDocument.SelectSingleNode("Language");

            foreach (XmlNode childNode in rootNode.ChildNodes)
            {
                ReadXmlNode(childNode, languageId, "Language", LangStrings);
            }
        }
コード例 #10
0
        private void LoadPage()
        {
            #region GetAvailableLanguages
            string saveDir     = Directory.GetCurrentDirectory();
            bool   ErrorsFound = false;

            if (Directory.GetFiles(saveDir + "/Languages").Length > 1)
            {
                foreach (var file in Directory.GetFiles(saveDir + "/Languages", "*.lang"))
                {
                    StreamReader langReader = new StreamReader(file);
                    string       rawObj     = langReader.ReadToEnd();
                    try
                    {
                        LanguageDataModel tempObj = JsonConvert.DeserializeObject <LanguageDataModel>(rawObj);

                        if (tempObj != null)
                        {
                            AvailableLanguages.Add(tempObj);
                        }
                        // MessageBox.Show(file);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        ErrorsFound = true;
                    }
                }
                if (ErrorsFound)
                {
                    MessageBox.Show("Errors Found");
                }
            }
            else
            {
                SelectedLanguage = new LanguageDataModel();
            }
            #endregion

            #region LoadSavedSettings
            if (File.Exists("Settings/settings.json"))
            {
                StreamReader settingsReader = new StreamReader("Settings/settings.json");
                try
                {
                    SettingsDataModel serializedData = JsonConvert.DeserializeObject <SettingsDataModel>(settingsReader.ReadToEnd());
                    // MessageBox.Show("loaded");
                    SelectedLanguage = AvailableLanguages.Single(lang => lang.LanguageName == serializedData.SelectedLanguage.LanguageName);
                    if (SelectedLanguage == null)
                    {
                        SelectedLanguage = new LanguageDataModel();
                    }


                    SelectedLanguageIndex = AvailableLanguages.IndexOf(SelectedLanguage);
                    HomeLocation          = serializedData.HomeLocation;
                    SelectedUnitIndex     = Units.IndexOf(serializedData.Unit);
                }catch (Exception)
                {
                    SelectedLanguage = new LanguageDataModel();
                }

                settingsReader.Dispose();
            }


            #endregion
        }