我在本地机器上的 IIS Express 上设置了本地化并完全调试它。我已经上传了位于 /bin/LANG_CODE
中的已编译资源 .dll 文件文件夹到我的服务器并编辑了 Web.Config。
我将其添加到模块标签中:
<add name="LangQueryAppenderModule" type="Central.HttpModules.LangQueryAppenderModule" />
然后我将其添加到 system.web
Web.Config 中的标记:<globalization fileEncoding="utf-8" requestEncoding="utf-8" culture="auto" uiCulture="auto" enableClientBasedCulture="true" />
当我键入 localhost:port/controller
时,本地计算机上的行为是完整的预期结果。它会将我重定向到 localhost:port/en/controller
如果我将语言代码更改为 fr
它将为我的网站的法语版本显示正确的字符串值。
在我发布的网站版本上 http://example.com/controller
它会正确地重定向到我 http://example.com/en/controller
但是当我将语言代码更改为任何受支持的语言代码时,它仍会显示英文字符串值,而不是像我的本地机器那样显示所需的语言。
最佳答案
这是 Visual Studio 2015 的 FTP 发布服务的问题。出于某种原因,当我单击要上传的文件夹时,.dll 资源文件没有上传,即使 UI 另有说明。我必须展开 resource.dll 文件所在的文件夹,然后单独单击并上传它们才能成功上传到我的服务器。
成为程序员的乐趣!
关于c# - 使用 .resx 文件在 LocalHost 上工作但不在服务器 MVC 上工作的本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43716476/