public void InsertI18N(string file, LogLanguageKey logLanguageKey) { var listoftext = _dao.LoadAll().ToDictionary(x => (x.Key, x.RegionType), x => x.Text); Parallel.ForEach((RegionType[])Enum.GetValues(typeof(RegionType)), region => { var dtos = new Dictionary <string, TDto>(); try { using var stream = new StreamReader(I18NTextFileName(file, region), Encoding.Default); while (!stream.EndOfStream) { var line = stream.ReadLine(); if (line == null) { continue; } var currentLine = line.Split('\t'); if (currentLine.Length > 1 && !listoftext.ContainsKey((currentLine[0], region)) && !dtos.ContainsKey(currentLine[0])) { dtos.Add(currentLine[0], new TDto() { Key = currentLine[0], RegionType = region, Text = currentLine[1], }); } }
public string GetMessageFromKey(LogLanguageKey messageKey, string?culture) { var cult = culture != null ? new CultureInfo(culture) : ResourceCulture; var resourceMessage = (_manager != null) ? _manager.GetResourceSet(cult, true, cult.TwoLetterISOLanguageName == default(RegionType).ToString().ToLower(cult)) ?.GetString(messageKey.ToString()) : string.Empty; return(!string.IsNullOrEmpty(resourceMessage) ? resourceMessage : $"#<{messageKey}>"); }
public Task InsertI18NAsync(string file, LogLanguageKey logLanguageKey) { var listoftext = _dao.LoadAll().ToDictionary(x => (x.Key, x.RegionType), x => x.Text); return(Task.WhenAll(((RegionType[])Enum.GetValues(typeof(RegionType))).Select(async region => { var dtos = new Dictionary <string, TDto>(); try { using var stream = new StreamReader(I18NTextFileName(file, region), Encoding.Default); var lines = (await stream.ReadToEndAsync().ConfigureAwait(false)).Split( new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None ); foreach (var line in lines) { var currentLine = line.Split('\t'); if (currentLine.Length > 1 && !listoftext.ContainsKey((currentLine[0], region)) && !dtos.ContainsKey(currentLine[0])) { dtos.Add(currentLine[0], new TDto() { Key = currentLine[0], RegionType = region, Text = currentLine[1], }); } } await _dao.TryInsertOrUpdateAsync(dtos.Values).ConfigureAwait(false); _logger.Information( LogLanguage.Instance.GetMessageFromKey(logLanguageKey), dtos.Count, region); } catch (FileNotFoundException) { _logger.Warning(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.LANGUAGE_MISSING)); } }))); }
public string GetMessageFromKey(LogLanguageKey messageKey) { return(GetMessageFromKey(messageKey, null)); }
public string GetMessageFromKey(LogLanguageKey messageKey, string culture = null) { string resourceMessage = _manager != null && messageKey.ToString() != null?_manager.GetResourceSet(culture != null?new CultureInfo(culture) : _resourceCulture, true, culture == default(RegionType).ToString())?.GetString(messageKey.ToString()) : string.Empty; return(!string.IsNullOrEmpty(resourceMessage) ? resourceMessage : $"#<{messageKey.ToString() }>"); }
public string GetMessageFromKey(LogLanguageKey messageKey) => GetMessageFromKey(messageKey, null);