so today, I have tried a turorial from https://www.aspsnippets.com/Articles/ASPNet-Multilingual-website-Support-and-display-Multiple-Languages-English-French-in-ASPNet.aspx
However, when I clicked on a different page, I discovered that it was not auto translated and i need to click the language everytime, despite the fact that I had added the drop down in Master's site. Could someone kindly help me? This is my coding:
Master's site Front-end:
<div class="col-lg-12 text-right " style="padding-top:2%">
<asp:Label ID="Label1" runat="server" Font-Italic="True" Font-Size="Smaller" Text="Bahasa"></asp:Label>
<asp:DropDownList ID="ddlLanguages" runat="server" AutoPostBack="true" OnSelectedIndexChanged = "OnSelectedIndexChanged" style="margin-right:2em" Font-Bold="True" Font-Size="Small" ForeColor="Black" Height="38px" Width="109px">
<asp:ListItem Text="English" Value="en-us" />
<asp:ListItem Text="Malay" Value="Ms" />
</asp:DropDownList>
<hr />
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
Master's Back-end
Protected Sub OnSelectedIndexChanged(sender As Object, e As EventArgs)
If Not Me.IsPostBack Then
If ddlLanguages.Items.FindByValue(CultureInfo.CurrentCulture.Name) IsNot Nothing Then
ddlLanguages.Items.FindByValue(CultureInfo.CurrentCulture.Name).Selected = True
End If
End If
End Sub
Basic Page's class (where I inherited in all aspx page)
Imports System.Threading
Imports System.Globalization
Public Class BasePage
Inherits System.Web.UI.Page
Protected Overrides Sub InitializeCulture()
Dim language As String = "en-us"
'Detect User's Language.
If Request.UserLanguages IsNot Nothing Then
'Set the Language.
language = Request.UserLanguages(0)
End If
'Check if PostBack is caused by Language DropDownList.
If Request.Form("__EVENTTARGET") IsNot Nothing AndAlso Request.Form("__EVENTTARGET").Contains("ddlLanguages") Then
'Set the Language.
language = Request.Form(Request.Form("__EVENTTARGET"))
End If
'Set the Culture.
Thread.CurrentThread.CurrentCulture = New CultureInfo(language)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(language)
End Sub
End Class