我使用Visual Studio 2010(VB)/asp.net 4.0对我网站的大部分内容进行了本地化。
它大部分进展顺利,但我正在尝试本地化contactengineering.aspx。在这里,我有两个问题:asp:checkbox和asp:button。他们没有读取fr,de和es文件 - 只有默认的contactengineering.aspx.resx,即en。
我所做的是在VS(工具/生成本地资源)中创建了资源文件,该文件放在App_LocalResources的目录中。这就是谜。我的asp:标签也没有翻译。但我把这个问题放在了:
<h1><asp:Label ID="Label1" runat="server"
Text="<%$ Resources:LocalizedText, contacteng1 %>"></asp:Label></h1>
我在我的根文件夹中的 App_GlobalResources 中添加了一个contacteng1字符串,并以所有语言进行了本地化。
以下是问题
同样,我的asp:button和asp:checkbox函数没有本地化。他们正在读取默认的/App_LocalResources/contactengineering.aspx.resx。我尝试了我提出的“修复”,将其移至GlobalResources,但它不起作用。
这是我正在尝试本地化的代码:
<asp:CheckBox ID="CheckBoxCC" runat="server"
Text="does not matter what I put here"
meta:resourcekey="CheckBoxCCResource1" />
<br />
<br />
<asp:Button ID="SubmitForm" runat="server" OnClick="SubmitForm_Click"
Text="Submit Form" meta:resourcekey="SubmitFormResource1" />
整个页面已本地化,但此按钮和复选框除外。谁能告诉我我需要做什么?我真诚地感谢任何人在这方面给予我任何帮助。
答案 0 :(得分:3)
这是我刚刚通过反复试验找到的解决方案 - 现在已经有一段时间了 - 如果有人遇到类似的问题。我不知道这是否正确或(推荐),但它是有效的。
我换了:
<asp:CheckBox ID="CheckBoxCC" runat="server"
Text="does not matter what I put here"
meta:resourcekey="CheckBoxCCResource1" />
<br />
<br />
<asp:Button ID="SubmitForm" runat="server" OnClick="SubmitForm_Click"
Text="Submit Form" meta:resourcekey="SubmitFormResource1" />
使用:
<asp:CheckBox ID="CheckBoxCC" runat="server"
Text="<%$ Resources:LocalizedText, contacteng11 %>"></asp:CheckBox>
<br />
<br />
<asp:Button ID="SubmitForm" runat="server" OnClick="SubmitForm_Click"
Text="<%$ Resources:LocalizedText, contacteng12 %>"></asp:Button>
我将字符串contacteng11和contacteng12及其各自的值添加到 App_GlobalResources 目录中的每种语言.resx文件中。
答案 1 :(得分:0)
如果您正在使用Viual Studio,我通过查看网站的“属性窗口”并将“Localizable”属性从“Default”更改为“Yes”来解决我遇到的类似问题。