Javascript 我希望在母版页上有一个西班牙语/英语链接,它可以将您带到其他语言的当前页面,而不是';主页';页
我有一个Visual Studio C#.NET项目。我有两个主模板。一个是英文的原始网站。以及该网站西班牙语版的第二个母版页。 在两个母版页中都有一个链接,上面写着“英语”(或西班牙语)。此链接将使用户访问网站的其他语言翻译 但是,如果我在英文版的“关于我们”页面上,单击西班牙语链接,它会将我带到西班牙语版的主页,而不是西班牙语版的当前页面(在本例中是关于我们的)。如何设置母版页中的链接,以了解我需要的页面翻译 我不知道如何编写这个东西 谢谢 解决方案-已解决Javascript 我希望在母版页上有一个西班牙语/英语链接,它可以将您带到其他语言的当前页面,而不是';主页';页,javascript,.net,html,master-pages,Javascript,.net,Html,Master Pages,我有一个Visual Studio C#.NET项目。我有两个主模板。一个是英文的原始网站。以及该网站西班牙语版的第二个母版页。 在两个母版页中都有一个链接,上面写着“英语”(或西班牙语)。此链接将使用户访问网站的其他语言翻译 但是,如果我在英文版的“关于我们”页面上,单击西班牙语链接,它会将我带到西班牙语版的主页,而不是西班牙语版的当前页面(在本例中是关于我们的)。如何设置母版页中的链接,以了解我需要的页面翻译 我不知道如何编写这个东西 谢谢 解决方案-已解决 <script type=
<script type="text/javascript">
function SetLanguageLinkUrl() {
var url = location.href;
var newURL;
// Create block of these, for each set of pages in different languages.
if (url.indexOf("inicio") > 0)
newURL = url.replace("/es/inicio.aspx", "/en/index.aspx");
else if (url.indexOf("index") > 0)
newURL = url.replace("/en/index.aspx", "/es/inicio.aspx");
// The Redirect
window.location = newURL;
}
</script>
函数SetLanguageLinkUrl(){
var url=location.href;
var-newURL;
//为不同语言的每套页面创建一个块。
如果(url.indexOf(“inicio”)>0)
newURL=url.replace(“/es/inicio.aspx”,“/en/index.aspx”);
else if(url.indexOf(“index”)>0)
newURL=url.replace(“/en/index.aspx”,“/es/inicio.aspx”);
//重定向
window.location=newURL;
}
假设您的母版页中有一个,您可以将链接中的语言文件夹替换为url中的其他语言文件夹
void SetLanguageLinkUrl()
{
string url = Request.Url.PathAndQuery.ToString().ToLowerInvariant();
if(url.StartsWith("/en/"))
languageLink.HRef = url.Replace("/en/", "/es/");
else if(url.StartsWith("/es/"))
languageLink.HRef = url.Replace("/es/", "/en/");
}
更新
如果您想翻译url,最好使用url字典作为查找表。您如何表示当前语言?在询问中?使用语言文件夹(例如/en/about us)?使用语言文件夹/es/filename.aspx。我有两个母版页,main.master和西班牙语。母版。。。main.master有一个指向/es/index.aspx的链接,但我希望该链接能将我带到另一种语言的“当前页面”。因此,如果我与我们联系,我希望它将我带到Contacto.aspx。这是我在母版中的内容。页面:尝试一下,看看它是否对您有意义,但这看起来不像是将我从about.aspx带到acerca.aspx,或从Contact.aspx带到Contacto.aspx,它看起来像是用另一种语言将我带到文件夹的主页面。我期待着当前页面(我现在正在浏览的页面)用另一种语言单击,并用西班牙语显示相同的页面。比如将contact.aspx重定向到contacto.aspx,但问题是我必须在主模板中执行此操作,我不知道如何执行此操作。与将我从contact.aspx(英语)转到/es/(默认为.aspx)…相反,如果当前url为
/en/about.aspx
,则链接将设置为/es/about.aspx
。你没有提到你想翻译网址。就像我说的,试着看看逻辑