Exemplo n.º 1
0
        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],
                            });
                        }
                    }
Exemplo n.º 2
0
        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}>");
        }
Exemplo n.º 3
0
        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));
                }
            })));
        }
Exemplo n.º 4
0
 public string GetMessageFromKey(LogLanguageKey messageKey)
 {
     return(GetMessageFromKey(messageKey, null));
 }
Exemplo n.º 5
0
        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() }>");
        }
Exemplo n.º 6
0
 public string GetMessageFromKey(LogLanguageKey messageKey) => GetMessageFromKey(messageKey, null);