我正在使用ASP.NET Core 2.0,我希望能够在自定义类中使用字符串本地化,而不仅仅是在控制器中(使用bot框架 - 对话框本地化)。 ASP .Net Core 2.0中本地化和全球化的最佳实践是什么?我是否必须在每个控制器中使用IStringLocalizer?有没有全球性的方式呢?有没有人知道为什么在官方文档中建议不要使用默认的.resx文件,而是使用name.localization.resx,当使用默认的.resx时,不会像在.NET中那样在Visual Studio中自动创建文件?
答案 0 :(得分:0)
关于本地化支持:
,我通过路由使用本地化,但是默认提供程序本身不支持传递两个字母(例如,en而不是en-UK),并且如果键位于url的开头或中间,则很难支持可选的语言传递(例如〜/ {lang} / api / ...)。
我用这个包裹为我减轻了负担:
https://www.nuget.org/packages/AspNetCore.RequestLocalizationPipeline
答案 1 :(得分:0)
资源是键和值之间的链接。每个键都链接到某个 html 文档。
在开始构建资源文件之前,您需要问自己这个问题。
您是否会在不同的视图中拥有具有相同键名的键(Dom 元素)?您是否希望它们具有不同或相等的值? (你会一直这样工作吗)。
如果答案是“不同”=> 在每个控制器中解析 IStringLocalizer,否则,创建一个共享资源