dotnet core 多语言问题请教

2019-01-11 12:39:11 +08:00
 daijinming

https://github.com/skoruba/IdentityServer4.Admin 上下载了源码,本地调试的时候显示汉语,但是部署到到 centos7 中的 docker,运行起来就编程英文了,确实很奇怪,这么问题能通过在代码中自定文化属性解决吗,求解?

2371 次点击
所在节点    程序员
23 条回复
dawnh
2019-01-11 17:33:34 +08:00
简单搜索了一下连接里的代码,似乎是直接调用.net core 的 UseRequestLocalization(),那在 startup()设置一下应该就好了吧,直接贴.net core 的样例麻烦自己改吧:

var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("fr"),
};

app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-US"),
// Formatting numbers, dates, etc.
SupportedCultures = supportedCultures,
// UI strings that we have localized.
SupportedUICultures = supportedCultures
});

app.UseStaticFiles();
// To configure external authentication,
// see: http://go.microsoft.com/fwlink/?LinkID=532715
app.UseAuthentication();
app.UseMvcWithDefaultRoute();
来自: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.2
daijinming
2019-01-12 09:42:35 +08:00
@chinvo #18 你看我在#17 发的图片,是-,但却是还是不行,我看了下在 Docker 容器( debian )中编译的只有 en 文件夹,其他都没有
daijinming
2019-01-14 10:14:49 +08:00
@chinvo ,终于搞定了,感谢了,都修改成类似 Index.zh.resx
-----------------------
var supportedCultures = new[]
{
new CultureInfo("zh"),
new CultureInfo("en")
};

app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("zh"),
// Formatting numbers, dates, etc.
SupportedCultures = supportedCultures,
// UI strings that we have localized.
SupportedUICultures = supportedCultures
});

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/525999

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX