Пример #1
0
 public string GetLocalization(TextAlias alias)
 {
     // has current lang?
     if (LocalizationList.ContainsKey(CurrentLang))
     {
         // has alias in correct lang?
         if (LocalizationList[CurrentLang].LangStrings.ContainsKey(alias))
         {
             return(LocalizationList[CurrentLang].LangStrings[alias]);
         }
     }
     // return default text in EN
     return(LocalizationList[Language.EN].LangStrings[alias]);
 }
    public async Task <AliasUpdateResult> FillAsync(Bk[] bks)
    {
        var re = new AliasUpdateResult
        {
            TextAliasType = TextAliasType,
        };

        var titles         = bks.Select(x => x.Title).ToArray();
        var titleAliasDict = await GetAliasAsync(titles);

        var updated = false;

        foreach (var bk in bks)
        {
            if (titleAliasDict.TryGetValue(bk.Title, out var newAliasText))
            {
                var alias = new TextAlias
                {
                    TextAliasType   = TextAliasType,
                    LastUpdatedTime = _clock.UtcNow,
                    Alias           = newAliasText
                };
                bk.TitleAlias ??= new();
                bk.TitleAlias[TextAliasType] = alias;
                updated = true;
            }
            else
            {
                _logger.LogDebug("There is not found alias from provider for {Title}", bk.Title);
            }
        }

        re.IsOk = updated;

        return(re);
    }
Пример #3
0
 public string GetString(TextAlias alias) => localizationManager.GetLocalization(alias);