我需要一个阿拉伯语和西班牙语语言的资源文件,其中包含错误消息,对话框消息和一些将在后面的代码中使用的字符串。现在我想访问相关的语言资源文件,以便根据用户读取字符串选定的文化。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
在web.config
集
<system.web>
<globalization uiCulture="en" />
</system.web>
首先,uiCulture是en
。
在ASPX
文件中,您可以使用以下ddl:
<asp:DropDownList ID="cboLanguage" runat="server" CssClass="combobox"
Width="150px" meta:resourcekey="cboLanguageResource1">
<asp:ListItem meta:resourceKey="ListItemLanguageResource1" Text="English" Value="en"></asp:ListItem>
<asp:ListItem meta:resourceKey="ListItemLanguageResource5" Text="French" Value="fr"></asp:ListItem>
<asp:ListItem meta:resourceKey="ListItemLanguageResource4" Text="German" Value="de"></asp:ListItem>
<asp:ListItem meta:resourceKey="ListItemLanguageResource3" Text="Italian" Value="it"></asp:ListItem>
<asp:ListItem meta:resourceKey="ListItemLanguageResource2" Text="Portuguese" Value="pt"></asp:ListItem>
<asp:ListItem meta:resourceKey="ListItemLanguageResource6" Text="Spanish" Value="es"></asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnLanguage" runat="server" Text="Update" CssClass="button"
meta:resourcekey="btnLanguageResource1" OnClick="btnLanguage_Click" />
在Code Behind
中将uiCulture
设置为btnLanguage_Click
protected void btnLanguage_Click(object sender, EventArgs e)
{
Configuration Config = WebConfigurationManager.OpenWebConfiguration("~");
GlobalizationSection section = (GlobalizationSection)Config.GetSection("system.web/globalization");
section.UICulture = cboLanguage.SelectedValue.ToString();
Config.Save();
Response.Redirect("Defaults.aspx", false);
}
在显示错误消息的代码后面执行此操作: -
Label1.Text = GetLocalResourceObject("Key").ToString();
在资源文件
中String | Value
Key | Record has been Saved.