失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > asp.net core ABP模板本地化设置

asp.net core ABP模板本地化设置

时间:2020-03-19 03:46:25

相关推荐

asp.net core ABP模板本地化设置

ABP的语言本地化设置非常方便,甚至地区图标ABP框架都已经有了。

先看看结果吧。

英文的界面

中文的界面

配置流程如下:

首先在Localization目录下新建一个对应的json文件,里面存放对应变量的本地化字符串,命名规则就是 应用名-本地化简称.json

比如我的应用名叫做SimpTaskApp(没错,就是abp的入门教程的工程),然后中文的简写是zh,所以我的json文件就是SimpleTaskApp-zh.json。

然后来看看内容

json里主要是两个属性culture和texts。

culture对应文化的简称。中文zh 英文en 土耳其文tr

texts对应字符串变量。

这里配置好以后就在XXXLocalizationConfigurer.cs里添加语言。XXX是应用名

位置在这里。

localizationConfiguration.Languages集合里添加一个LanguageInfo对象,参数3个,第一个是语言简写,如中文是zh,第二个是显示的名称,第三个是图标,一般是国家或地区的标志,规则是famfamfam-flags XX,XX是国家或地区的简写,如中国 cn

这段就是那个下拉选择语言的前端代码,遍历Model里的Language集合,加入下拉菜单。

1 @model Acme.SimpleTaskApp.Web.ponents.LanguageSelection.LanguageSelectionViewModel 2 <li class="dropdown"> 3<a href="#" class="dropdown-toggle" data-toggle="dropdown"> 4 <div class="@Model.CurrentLanguage.Icon"></div> 5 <span>@Model.CurrentLanguage.DisplayName</span> 6 <b class="caret"></b> 7</a> 8<ul class="dropdown-menu"> 9 @foreach (var language in Model.Languages)10 {11 if (language.Name != Model.CurrentLanguage.Name)12 {13 <li><a href="@Url.Action("ChangeCulture", "AbpLocalization")?cultureName=@(language.Name)&returnUrl=@(Model.CurrentUrl)"><div class="@language.Icon"></div> @language.DisplayName</a></li>14 }15 }16</ul>17 </li>

最后的效果就如下

附录,famfamfam的国旗标志及对应的代码。图标icon包下载连接

国家或地区代码是ISO 3166-1 alpha-2

此段摘自/lab/icons/flags/和维基百科

如果觉得《asp.net core ABP模板本地化设置》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。