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); }
public string GetString(TextAlias alias) => localizationManager.GetLocalization(alias);