示例#1
0
文件: Lang.cs 项目: longstl/Oxide
 /// <summary>
 /// Initializes a new instance of the Lang class
 /// </summary>
 public Lang()
 {
     langFiles = new Dictionary <string, Dictionary <string, string> >();
     langData  = ProtoStorage.Load <LangData>("oxide.lang") ?? new LangData();
     pluginRemovedFromManager = new Dictionary <Plugin, Event.Callback <Plugin, PluginManager> >();
     Migrate(); // This should be deleted in a few weeks. (Added Oct 12, 2016)
 }
        private void InitLanguageTable()
        {
            dataGridView_translations.Rows.Clear();
            langCodes.Clear();
            string translationsPath = Path.Combine(MaidFiddler.DATA_PATH, Translation.TRANSLATIONS_PATH);

            if (!Directory.Exists(translationsPath))
            {
                Debugger.WriteLine(LogLevel.Warning, "No translation folder found. Creating one...");
                Directory.CreateDirectory(translationsPath);
            }

            string[]        files = Directory.GetFiles(translationsPath, "*.txt");
            List <LangData> installedLanguages = new List <LangData>();

            foreach (string filePath in files)
            {
                using (StreamReader sr = File.OpenText(filePath))
                {
                    string line = sr.ReadLine();

                    if (line == null || line.Trim() == string.Empty)
                    {
                        continue;
                    }

                    Match match = Translation.TagPattern.Match(line);
                    if (!match.Success)
                    {
                        continue;
                    }

                    LangData lang = new LangData
                    {
                        Name    = Path.GetFileNameWithoutExtension(filePath),
                        Version = match.Groups["ver"].Value
                    };

                    installedLanguages.Add(lang);
                    Debugger.WriteLine(LogLevel.Info, $"Found language: File={lang.Name}, Version={lang.Version}");
                }
            }

            foreach (string[] langs in
                     translationList.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries)
                     .Select(s => s.Split(new[] { '\t' }, StringSplitOptions.RemoveEmptyEntries)))
            {
                LangData lang =
                    installedLanguages.FirstOrDefault(
                        data => string.Equals(data.Name, langs[0], StringComparison.InvariantCultureIgnoreCase));
                Debugger.WriteLine(LogLevel.Info, $"Lang name: {lang.Name}, Ver: {lang.Version}");
                string version = Equals(lang, default(LangData))
                                 ? Translation.GetTranslation("TL_NOT_INSTALLED") : lang.Version;
                dataGridView_translations.Rows.Add(langs[2], langs[1], langs[3], version);
                langCodes.Add(langs[0].ToUpperInvariant());
                Debugger.WriteLine(LogLevel.Info, $"Available language: Code={langs[0]}, Version={langs[3]}");
            }
        }
        private void InitLanguageTable()
        {
            dataGridView_translations.Rows.Clear();
            langCodes.Clear();
            string translationsPath = Path.Combine(MaidFiddler.DATA_PATH, Translation.TRANSLATIONS_PATH);
            if (!Directory.Exists(translationsPath))
            {
                Debugger.WriteLine(LogLevel.Warning, "No translation folder found. Creating one...");
                Directory.CreateDirectory(translationsPath);
            }

            string[] files = Directory.GetFiles(translationsPath, "*.txt");
            List<LangData> installedLanguages = new List<LangData>();
            foreach (string filePath in files)
            {
                using (StreamReader sr = File.OpenText(filePath))
                {
                    string line = sr.ReadLine();

                    if (line == null || line.Trim() == string.Empty)
                        continue;

                    Match match = Translation.TagPattern.Match(line);
                    if (!match.Success)
                        continue;

                    LangData lang = new LangData
                    {
                        Name = Path.GetFileNameWithoutExtension(filePath),
                        Version = match.Groups["ver"].Value
                    };

                    installedLanguages.Add(lang);
                    Debugger.WriteLine(LogLevel.Info, $"Found language: File={lang.Name}, Version={lang.Version}");
                }
            }

            foreach (string[] langs in
            translationList.Split(new[] {'\n', '\r'}, StringSplitOptions.RemoveEmptyEntries)
                           .Select(s => s.Split(new[] {'\t'}, StringSplitOptions.RemoveEmptyEntries)))
            {
                LangData lang =
                installedLanguages.FirstOrDefault(
                data => string.Equals(data.Name, langs[0], StringComparison.InvariantCultureIgnoreCase));
                Debugger.WriteLine(LogLevel.Info, $"Lang name: {lang.Name}, Ver: {lang.Version}");
                string version = Equals(lang, default(LangData))
                                 ? Translation.GetTranslation("TL_NOT_INSTALLED") : lang.Version;
                dataGridView_translations.Rows.Add(langs[2], langs[1], langs[3], version);
                langCodes.Add(langs[0].ToUpperInvariant());
                Debugger.WriteLine(LogLevel.Info, $"Available language: Code={langs[0]}, Version={langs[3]}");
            }
        }
示例#4
0
        void SetLanguageData()
        {
            Dictionary <string, LangData> dicLanDatas = new Dictionary <string, LangData>();

            foreach (var item in ConfigMgr.Instance.dicLanguage.Values)
            {
                LangData langData = new LangData();
                langData.id    = item.id;
                langData.zh_cn = item.zh_cn;
                langData.en    = item.en;
                dicLanDatas.Add(langData.id, langData);
            }
            GameFrameEntry.GetModule <LangModule>().SetLangData(dicLanDatas);
        }
示例#5
0
 private void ReadProperties()
 {
     foreach (var file in Resources.LoadAll <TextAsset>("LangFiles"))
     {
         string language = file.name;
         var    lang     = new Dictionary <string, string>();
         foreach (var line in file.text.Split('\n'))
         {
             var prop = line.Split(Separator);
             lang[prop[0]] = prop[1];
         }
         _langData[language] = new LangData(lang);
         _supportedLanguages.Add(language);
     }
     ResolveLanguage();
 }
示例#6
0
文件: Program.cs 项目: AlexIs72/TZ
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;

                try
                {
                    var context = services.GetRequiredService <LangDbContext>();
                    context.Database.Migrate();
                    LangData.Initialize(services);
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "An error occurred seeding the DB.");
                }
            }

            host.Run();
        }
示例#7
0
 /// <summary>
 /// Initializes a new instance of the Lang class
 /// </summary>
 public Lang()
 {
     langFiles = new Dictionary <string, Dictionary <string, string> >();
     langData  = ProtoStorage.Load <LangData>("oxide.lang") ?? new LangData();
     pluginRemovedFromManager = new Dictionary <Plugin, Event.Callback <Plugin, PluginManager> >();
 }
示例#8
0
 public Lang()
 {
     langFiles = new Dictionary <string, Dictionary <string, string> >();
     langData  = ProtoStorage.Load <LangData>("oxide.lang") ?? new LangData();
 }
示例#9
0
文件: Lang.cs 项目: yas-online/Oxide
 public Lang()
 {
     langFiles = new Dictionary<string, Dictionary<string, string>>();
     langData = ProtoStorage.Load<LangData>("oxide.lang") ?? new LangData();
     pluginRemovedFromManager = new Dictionary<Plugin, Event.Callback<Plugin, PluginManager>>();
 }
示例#10
0
文件: Lang.cs 项目: 906507516/Oxide
 public Lang()
 {
     langFiles = new Dictionary<string, Dictionary<string, string>>();
     langData = ProtoStorage.Load<LangData>("oxide.lang") ?? new LangData();
 }