2009-06-03 80 views
2

我已成功添加本地化到我的网站。第二天来,它不起作用。在阅读了很多帖子后,我做了一些故障排除。我发现该页面忽略了page.aspx.en-US.resx。因为我没有标准的resx页面,它显示了我在设计器中的标签说明。我只是取出了en-US并将其设置为默认值(page.aspx.resx)。页面正确显示资源文件中的字符串。 我已经使用了MSDN的教程和相同的教程,您可以在互联网上找到它,我甚至还为MSDN上的教程作出了贡献。当您使用身份验证或模拟,您必须授予访问App_LocalResources文件通过在web.configASP.NET本地化问题

<location path="App_LocalResources"> 
<system.web> 
<authorization> 
    <allow users="*"> 
</authorization> 
</system.web> 

我昨天发现和解决了这个问题文件夹,但现在它不使用page.aspx.en- US.resx,除非它是默认的,我觉得它很奇怪。有人有解决方案或建议吗?

回答

2

我找到了解决我的挑战的方法。为了使资源文件工作,你必须有与其他资源文件组合,默认的资源文件,例如:

default.aspx.resx 
default.aspx.en-US.resx 
default.aspx.nl-NL.resx 

即使你只有一种语言,并要使用资源文件,你必须有它是默认的资源文件,否则它将忽略App_LocalResources下可能拥有的任何资源文件。