栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Abp VNext 本地化Location(多语言)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Abp VNext 本地化Location(多语言)

1、新建Common类库

CommonModule.cs

 [DependsOn(
        typeof(AbpLocalizationModule),
        typeof(AbpVirtualFileSystemModule)
        )]
    public class CommonModule : AbpModule
    {
        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            Configure(options =>
            {
                options.FileSets.AddEmbedded(baseNamespace: "Common");
            });

            Configure(options =>
            {
                options.Resources
                    .Add("en") //默认语言
                    .AddBaseTypes(typeof(AbpValidationResource))
                    .AddVirtualJson("/Localization/Resources");
                options.DefaultResourceType = typeof(Langue);
            });
            Configure(options =>
            {
                options.MapCodeNamespace("Langue", typeof(Langue));
            });
        }
    }
}

Langue.cs

[LocalizationResourceName("Langue")]
    public class Langue
    {
    }

en.json

{
  "culture": "en",//语种
  "texts": {
    "HelloWorld": "Hello aaa!"
  }
}

zh.json

{
  "culture": "zh",
  "texts": {
    "HelloWorld": "你好啊!"
  }
}

将文件配置为嵌入式,修改文件Common.csproj

  
    
    
  

二、WebApi项目中配置

[DependsOn(
        typeof(AbpLocalizationModule),
        typeof(CommonModule)
        )]
    public class WebApiModule : AbpModule
    {
        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            var configuration = context.Services.GetConfiguration();
            ConfigureLocalization();
        }
        public override void OnApplicationInitialization(ApplicationInitializationContext context)
        {
            var app = context.GetApplicationBuilder();
            app.UseAbpRequestLocalization();
        }
        private void ConfigureLocalization()
        {
            Configure(options =>
            {
                options.Languages.Add(new LanguageInfo("en", "en", "English"));
                options.Languages.Add(new LanguageInfo("zh", "zh", "简体中文"));
            });
        }
    }

三、依赖注入方式使用

[Route("User")]
public class UserService : ApplicationService, IUserService
{
        private readonly IStringLocalizer _localizer;
        public UserService(IStringLocalizer localizer)
        {
            _localizer = localizer;
        }
        [AllowAnonymous]
        [HttpGet("Login")]
        public string Login(string userName, string pwd)
        {
            var hello = _localizer["HelloWorld"];
            return hello.Value;
        }
}

四、客户端请求带上header

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号