/// <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]}"); } }
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); }
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(); }
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(); }
/// <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> >(); }
public Lang() { langFiles = new Dictionary <string, Dictionary <string, string> >(); langData = ProtoStorage.Load <LangData>("oxide.lang") ?? new LangData(); }
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>>(); }
public Lang() { langFiles = new Dictionary<string, Dictionary<string, string>>(); langData = ProtoStorage.Load<LangData>("oxide.lang") ?? new LangData(); }