首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何借助SharedResources的ASP.NET Core Localization?

如何借助SharedResources的ASP.NET Core Localization?

提问于 2018-06-11 09:56:09
回答 2关注 0查看 475

参考:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization

我应该创建一个SharedResources.cs类,但我应该把它放在哪里,如果它是空的,或者我需要填充一些数据?

资源文件也一样,我应该创建一个SharedResources.da.resx文件并将所有共享字符串放在那里?

当我使用的IHtmlLocalizer<SharedResources>时候,我只是写@using和指向它SharedResources.cs驻留的名称空间?

我试图把SharedResources.csSharedResources.da.resx在资源文件夹,并用它来更改网站语言以丹麦,但它不工作。使用专用的资源文件喜欢Index.da.resxIViewLocalizer工作正常,但IHtmlLocalizer<SharedResources>似乎没有工作。

当我查看链接到页面底部的示例项目时,我没有发现使用SharedResources的地方,如果有人用它的示例更新它,那将是非常好的。

以下是我试图做到的:

Views/Home/Index.cshtml:

代码语言:javascript
复制
@using Funkipedia.Resources
@using Microsoft.AspNetCore.Mvc.Localization
@inject IHtmlLocalizer<Shared> SharedLocalizer
...
<p>@SharedLocalizer["Hei"]</p>
...

在Startup.cs的ConfigureServices顶部:

代码语言:javascript
复制
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
  .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
  .AddDataAnnotationsLocalization();

在Startup.cs中的Configure顶部:

代码语言:javascript
复制
var supportedCultures = new List<CultureInfo>
{
       new CultureInfo("nb-NO"),
       new CultureInfo("sv-SE"),
       new CultureInfo("da-DK")
};

app.UseRequestLocalization(new RequestLocalizationOptions
{
       DefaultRequestCulture = new RequestCulture("nb-NO"),
       SupportedCultures = supportedCultures,
       SupportedUICultures = supportedCultures
});

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档