【发布时间】:2018-07-10 05:01:35
【问题描述】:
有一个本地化为 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization 的 ASP .NET Core 应用程序。
所有字符串都使用默认语言进行本地化,带有 IStringLocalizer _localizer["About Title"] - 没有 .resx 文件。
现在我想添加一种新语言。
我可以自动生成所有资源文件吗?
我的例子
private readonly IStringLocalizer<SharedResource> _localizerG;
private readonly IStringLocalizer<HomeController> _localizerC;
_localizerG["Your contact page. (G)"]
_localizerC["Your contact page. (C)"]
我可以为新的语言 uk-UA 生成(并在将来更新)带有填充字符串的 .resx 文件
- SharedResource.uk-UA.resx
- 名称:您的联系页面。 (G)
- 值:您的联系页面。 (G)
- HomeController.uk-UA.resx
- 名称:您的联系页面。 (C)
- 值:您的联系页面。 (C)
【问题讨论】:
-
您可以通过创建自定义本地化程序来记录这些字符串。然后您可以为这些字符串创建所需的资源。
-
如果所有代码路径都被实际调用,它们将被记录下来。我个人的看法是,官方推荐的在代码中使用完整默认值(而不是合成键)的 ASP.NET MVC 模式非常糟糕,并且一旦添加第二语言就会导致问题。
标签: c# asp.net .net asp.net-core .net-core