在Client JavaScript中支持多语言
一个小小的Trick:
在server端读出语言相关的字符串资源并注入到client端:
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(”<script type=’text/javascript’>”);
sb.Append(”var I18N = new Array();\n”);
sb.AppendFormat(”I18N[’{0}’] = ‘{1}’;\n”, “my_String_1″, GetResourceString(”my_String_1″));
sb.AppendFormat(”I18N[’{0}’] = ‘{1}’;\n”, “my_String_2″, GetResourceString(”my_String_2″));
sb.Append(”</script>”);
ClientScript.RegisterClientScriptBlock(GetType(), “I18N”, sb.ToString());
在客户端进行读取:
function getI18N(resourceId)
{
…
return I18N[resourceId];
…
}
var myString1 = getI18N(”myString_1″))
