博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ABP Zero 本地化语言的初始化和扩展
阅读量:7126 次
发布时间:2019-06-28

本文共 2208 字,大约阅读时间需要 7 分钟。

 在aspnetboilerplate.com生成后,在core下的本地化文件增加选项即可

 

初始化方法

解析:

var currentCultureName = Thread.CurrentThread.CurrentUICulture.Name;

解决:

Global.asax设置

protected virtual void Application_BeginRequest(object sender, EventArgs e)        {            var langCookie = Request.Cookies["Abp.Localization.CultureName"];            if (langCookie != null && GlobalizationHelper.IsValidCultureCode(langCookie.Value))            {                Thread.CurrentThread.CurrentCulture = new CultureInfo(langCookie.Value);                Thread.CurrentThread.CurrentUICulture = new CultureInfo(langCookie.Value);            }        }

原方法重写

protected override void Application_BeginRequest(object sender, EventArgs e)        {            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");            Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");        }

参考:http://www.ctosay.cn/content/50650577840524115454.html

 

 

WEB项目拥有自己的本地化

本地化过程

1.在Web项目下创建文件夹Localization,再创建子目录Source,在Source下创建相对的xml文件

2.在Web项目下自动生成的基类控制器TestControllerBase

protected TestControllerBase()        {            LocalizationSourceName = TestWebConsts.LocalizationSourceName;        }

3. 在 ZeroWebModule下进行初始化

public override void PreInitialize()        {            //Enable database based localization             Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization();            Configuration.Localization.Languages.Add(new LanguageInfo("zh-CN", "简体中文", isDefault: true));            Configuration.Localization.Sources.Add(                new DictionaryBasedLocalizationSource(                    TestWebConsts.LocalizationSourceName,                    new XmlEmbeddedFileLocalizationDictionaryProvider(                        Assembly.GetExecutingAssembly(),                        "Test.Web.Localization.Source"                        )                    )                );    }

这步非常重要,TestWebConsts是自定义类

public class TestWebConsts    {        public const string LocalizationSourceName = "Test.Web";    }

这里的LocalizationSourceName不能和core项目下的一样,否则会出错

 

本地化资源文件的属性“生成操作”设置为“嵌入的资源”

"Test.Web.Localization.Source"   //这里是本地化资源文件的目录 = 项目名+路径

常见问题

1.Logs.txt提示Can not find 'xx' in localization source 'xxxx.Web'!

 

转载地址:http://nweel.baihongyu.com/

你可能感兴趣的文章
我是如何破解你的WINDOWS密码的 ?(1)
查看>>
SQL Server: Top 10 Secrets of a SQL Server Expert
查看>>
loop循环
查看>>
laravel完美部署与六种解决报错高效方法
查看>>
iscsi多路径客户端的配置
查看>>
Ubuntu启动器快捷方式
查看>>
dhcp在企业网中的应用
查看>>
悠然推荐:你的架构是如何一步步腐化的?
查看>>
网页自动刷新
查看>>
信息安全从业人员的面试记录(持续更新,直到入职)
查看>>
mysql启动之:报错解决办法
查看>>
inode 索引节点和软硬链接
查看>>
文本处理工具基础(grep系、sed、awk等)
查看>>
IP SLA冗余切换
查看>>
关于安全运维中,网络及安全设备基线设置的方法和必要性。
查看>>
nodejs渐入佳境[24]-用户权限-express+mongoDB+authtoken
查看>>
关于GITLAB若干权限问题
查看>>
强大的PDF创建和管理控件ActivePDF Toolkit
查看>>
linux下DNS的配置
查看>>
Android中带分割线的九宫格
查看>>