使用 .resx 文件在 LocalHost 上工作但不在服务器 MVC 上工作的本地化
Localization using .resx files working on LocalHost but not server MVC
我在本地机器上的 IIS Express 上设置了本地化并完全调试它。我已将位于 /bin/LANG_CODE
文件夹中的已编译资源 .dll 文件上传到我的服务器并编辑了 Web.Config.
我将此添加到模块标签中:
<add name="LangQueryAppenderModule" type="Central.HttpModules.LangQueryAppenderModule" />
我将其添加到 Web.Config 中的 system.web
标签中:<globalization fileEncoding="utf-8" requestEncoding="utf-8" culture="auto" uiCulture="auto" enableClientBasedCulture="true" />
localmachine 上的行为是完全期望的结果,因为当我键入 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 文件所在的文件夹,然后单独单击并上传它们才能成功上传到我的服务器。
程序员的乐趣!
我在本地机器上的 IIS Express 上设置了本地化并完全调试它。我已将位于 /bin/LANG_CODE
文件夹中的已编译资源 .dll 文件上传到我的服务器并编辑了 Web.Config.
我将此添加到模块标签中:
<add name="LangQueryAppenderModule" type="Central.HttpModules.LangQueryAppenderModule" />
我将其添加到 Web.Config 中的 system.web
标签中:<globalization fileEncoding="utf-8" requestEncoding="utf-8" culture="auto" uiCulture="auto" enableClientBasedCulture="true" />
localmachine 上的行为是完全期望的结果,因为当我键入 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 文件所在的文件夹,然后单独单击并上传它们才能成功上传到我的服务器。
程序员的乐趣!