我使用 meta:resourcekey="myString" 和资源 (xml) 文件来启用多语言支持。您可以拥有许多资源文件(每种语言一个),每个文件都有相同的键。键值因语言而异。您的 aspx 文件将根据页面区域设置从相关资源文件中读取。
例如,我将资源文件 Default.aspx.resx 用于英语资源(字符串),将 Default.aspx.fr-FR.resx 用于法语资源。
然后,我将以下代码添加到每个 .aspx 页面。可能有一种更简洁的方法,但这对我来说效果很好。
protected override void InitializeCulture()
{
if (Request.QueryString["lang"] == "fr")
{
base.InitializeCulture();
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
}
else
{
base.InitializeCulture();
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB");
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
}
}