示例#1
0
        public async Task <List <AppLanguageTextListDto> > GetAllLanguageTexts(GetAllLanguageTextsInput input)
        {
            if (input.LanguageName.IsNullOrEmpty())
            {
                var defaultLanguage =
                    await _applicationLanguageManager.GetDefaultLanguageOrNullAsync(AbpSession.TenantId);

                if (defaultLanguage == null)
                {
                    defaultLanguage = (await _applicationLanguageManager.GetLanguagesAsync(AbpSession.TenantId))
                                      .FirstOrDefault();
                    if (defaultLanguage == null)
                    {
                        throw new Exception("No language found in the application!");
                    }
                }

                input.LanguageName = defaultLanguage.Name;
            }

            var source        = LocalizationManager.GetSource(AdminConsts.AppLocalizationSourceName);
            var targetCulture = CultureInfo.GetCultureInfo(input.LanguageName);

            var languageTexts = source
                                .GetAllStrings()
                                .Select(localizedString => new AppLanguageTextListDto
            {
                Key   = localizedString.Name,
                Value = _applicationLanguageTextManager.GetStringOrNull(AbpSession.TenantId, source.Name,
                                                                        targetCulture, localizedString.Name, false)
            })
                                .AsQueryable();

            return(languageTexts.ToList());
        }
        public async Task GetLanguageTexts(string languageName)
        {
            //初始化对象
            var input = new GetAllLanguageTextsInput()
            {
                LanguageName = languageName
            };

            //获取所有语言文本
            var result = await _languageAppService.GetAllLanguageTexts(input);

            result.ShouldNotBeNull();
            result.Count.ShouldBeGreaterThan(0);
        }