我正在使用J Query time来显示像这个网站的日期时间,
我有一个元语言网站,我想为en用户显示:1分钟前和fa 1دقیقهقبل。
我想在timeago.min.js
?
prefixAgo: null,
prefixFromNow: null,
suffixAgo: '<%= Resources.IPortal.Ago %>'//something like this,
suffixFromNow: "from now",
seconds: "less than a minute",
minute: "about a minute",
minutes: "%d minutes",
hour: "about an hour",
hours: "about %d hours",
day: "a day",
days: "%d days",
month: "about a month",
months: "%d months",
year: "about a year",
years: "%d years",
答案 0 :(得分:1)
我找到了解决方案: 我用了一个GetLocalisedScript.aspx页来提供我的js文件。
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
string retval = "";
string file = Request["JsFileName"].ToString();
using(StreamReader sr = new StreamReader(Server.MapPath(string.Format("~\\scripts\\{0}.js",file))))
{
retval = sr.ReadToEnd();
sr.Close();
}
Regex rx = new Regex("##Translate(.+?)##",RegexOptions.Singleline);
MatchCollection mc = rx.Matches(retval,0);
foreach (Match m in mc)
{
string strResxKey = m.Value.Replace("##Translate(", "").Replace(")##", "");
string val = GetGlobalResourceObject("myResource", strResxKey).ToString();
retval = retval.Replace(m.Value, val);
}
//Just write out the XML data
Response.ContentType = "text/xml";
//NOTE THAT THIS PAGE DOESN'T CONTAIN ANY HTML TAG, WHATSOEVER
Response.Output.Write(retval);
}
HTML标记:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GetLocalisedScript.aspx.cs" Inherits="TestMulti.GetLocalisedScript" %>
并在我的页面中用以下内容替换了标准src:
<script src="GetLocalisedScript.aspx?JsFileName=JsFileNameWithoutExtension" type="text/jscript" ></script>
现在在我的js文件(JsFileNameWithoutExtension)中,我将改变这样的字符串:
function alert2(val) {
alert("##Translate(MyStringToTranslate)##");
}