Abp框架本地化默认语言设置不起作用问题
问题
Abp vNext框架,后台服务使用IStringLocalizer获得翻译时,与设置的“Abp.Localization.DefaultLanguage”不一致,一直是按服务器的本地语言来的。
分析
Abp中重写了IStringLocalizer,Abp源码简化如下。
public class AbpDictionaryBasedStringLocalizer:IAbpStringLocalizer
{
...
public LocalizedString this[string name] => GetLocalizedString(name,CultureInfo.CurrentUICulture.Name);
...
}
这个索引器实现是用的CultureInfo.CurrentUICulture,所以就是服务器本地语言了。
解决
使用前重新给CultureInfo.CurrentUICulture赋值就可以解决,但我们想全局性修改,就给CultureInfo.DefaultThreadCurrentUICulture赋值。
var defaultLanguage=...//get setting of 'Abp.Localization.DefaultLanguage'
CultureInfo.DefaultThreadCurrentCulture=CultureInfo.GetCultureInfo(defaultLanguage);
CultureInfo.DefaultThreadCurrentUICulture=CultureInfo.GetCultureInfo(defaultLanguage);
作者:Rick Carter
出处:http://pains.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 这或许是全网最全的 DeepSeek 使用指南,95% 的人都不知道的使用技巧(建议收藏)
· 拒绝繁忙!免费使用 deepseek-r1:671B 参数满血模型
· 本地搭建DeepSeek和知识库 Dify做智能体Agent(推荐)
· Sdcb Chats 重磅更新:深度集成 DeepSeek-R1,思维链让 AI 更透明!
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
2007-11-27 倾血奉献,同学录整站源码(ASP)