Visual Studio本地化&表单:asp:button,asp:CheckBox只读取默认语言.resx文件

时间:2012-01-19 02:42:33

标签: asp.net visual-studio visual-studio-2010 forms localization

我使用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" />  

整个页面已本地化,但此按钮和复选框除外。谁能告诉我我需要做什么?我真诚地感谢任何人在这方面给予我任何帮助。

2 个答案:

答案 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”来解决我遇到的类似问题。