gpt4 book ai didi

asp.net - 跨不同子域的多语言网站的最佳实践

转载 作者:行者123 更新时间:2023-12-02 18:42:17 25 4
gpt4 key购买 nike

我正在寻找在 ASP.NET 中构建一个网站。我需要它是法语和英语,域设置如下:

en.mysite.com fr.mysite.com

如果可能的话,我不想重复代码或必须将文件上传到两个域。

最好将所有文件放在 www.mydomain.com 上,然后使用资源文件对翻译进行排序。

在 ASP.NET 中设置此功能的最佳方法是什么?

最佳答案

我的解决方案是在 global.asaxBeginRequest 中设置 lang

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim lang As String = "es" ''//default
If Request.Url.ToString.ToLower.StartsWith("http://es.")
lang = "es"
ElseIf Request.Url.ToString.ToLower.StartsWith("http://en.") Then
lang = "en"
End If
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang)
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)

Site.Idioma = lang ''//static variable that I use in other parts of the site
End Sub

当用户点击 www.mysite.com 时,不要忘记使用用户的浏览器语言首选项设置重定向

Imports System.Globalization
Partial Class redirect_Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal s As Object, ByVal e As System.EventArgs) _
Handles Me.Load

Select Case Mid(Request.UserLanguages(0).ToString(), 1, 2).ToLower
Case "en"
Response.Redirect("http://en.mysite.com")
Case Else
Response.Redirect("http://es.mysite.com")
End Select

End Sub
End Class

顺便说一句,我建议您使用 http://www.mysite.com/en因为从 SEO 角度来看它更好(如果它对您的网站很重要)

关于asp.net - 跨不同子域的多语言网站的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com