dotnet core 多语言问题请教

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

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

2466 次点击
所在节点    程序员
23 条回复
695975931
2019-01-11 12:51:21 +08:00
提个 issue?
daijinming
2019-01-11 13:44:38 +08:00
@695975931 不知道和老外措辞
beginor
2019-01-11 13:45:35 +08:00
可能是与服务器的时区有关,也可能是 docker 内部的时区
daijinming
2019-01-11 13:51:52 +08:00
daijinming
2019-01-11 14:07:44 +08:00
@beginor 进入 Docker 容器 locale -a 确实没有中文资源,有办法吗,需要更换基础镜像吗
daijinming
2019-01-11 14:09:15 +08:00
<div class="col-12">
<h2>@Localizer["PageTitle"]</h2>
</div>
daijinming
2019-01-11 14:15:37 +08:00
仔细查看代码中很多都上楼上的写法,现在不知道怎么处理,道理是更换 docker 基础镜像( FROM microsoft/dotnet:sdk ) 还是在 Dockerfile 中下载中文资源 还是在 代码中携带资源文件,糊涂中.....
Raphael96
2019-01-11 14:17:57 +08:00
多语言处理是由客户端浏览器的语言设置来判断的吧
daijinming
2019-01-11 14:20:44 +08:00
@Raphael96 客户端都一样的,只是服务端不一样
chinvo
2019-01-11 14:32:35 +08:00
localizer 是 asp.net core g11n 的用法,这个理论上只受 user agent 的请求影响
chinvo
2019-01-11 14:35:42 +08:00
突然想起来,你检查下项目目录,有没有 zh / zh-cn / zh-chs 目录。

受中文语言 ISO 编码变更影响,现在只有在 Windows 上编译才会有 zh-cn,在其他平台应该选用 zh-chs
daijinming
2019-01-11 14:51:57 +08:00
@chinvo ![Markdown]( http://i2.bvimg.com/623168/77b12ed0870683bf.jpg) 有很多类似这样的 ApiResource.zh-CN.resx
daijinming
2019-01-11 14:54:03 +08:00
但是在容器中却找不到任何 zh-CN 相关的 ![Markdown]( http://i1.bvimg.com/623168/c6497796b3e72157.jpg)
chinvo
2019-01-11 15:15:34 +08:00
@daijinming #12 要编译的,在输出的目录里面应该有个叫 zh-cn 的目录,里面有一些 dll,这个目录也要包含在容器内
chinvo
2019-01-11 15:16:53 +08:00
另外 Linux 上 .net core 已经不支持 zh-cn 了,你要把这些文件改名成 zh-chs 或者 zh,然后在 startup 里面也把 zh-cn 改成对应的 locales
daijinming
2019-01-11 15:40:02 +08:00
@chinvo 先感谢了朋友,文件太多了,我先修改下
daijinming
2019-01-11 16:27:19 +08:00
@chinvo 不行呀朋友,这样 zh_CN 修改为 zh_CHS ,这样我本地都是英文了![Markdown]( http://i2.bvimg.com/623168/27818b55fd270c5c.jpg)
chinvo
2019-01-11 17:26:17 +08:00
@daijinming 是 - 不是 _
chinvo
2019-01-11 17:27:39 +08:00
chinvo
2019-01-11 17:29:13 +08:00
还有上面链接的 Globalization and localization terms 小节,以及下面的链接

https://docs.microsoft.com/en-us/previous-versions/commerce-server/ee825488(v=cs.20)

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

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

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

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

© 2021 V2EX