Alle Controls erben von folgender Klasse:
Public Class ContentControl
Inherits System.Web.UI.UserControl
Public Function Translate(ByVal Text As String) As String
Return TextTools.TranslateText(Text, MyLang)
End Function
Public Sub TranslateMe(ByVal Ctrl As Control)
If TypeOf Ctrl Is RadioButton Then
Dim Rbl As RadioButton = Ctrl
Rbl.Text = Translate(Rbl.Text)
ElseIf TypeOf Ctrl Is HyperLink Then
Dim Hyp As HyperLink = Ctrl
Hyp.Text = Translate(Hyp.Text)
End If
End Sub
End Class
Wenn Texte im Backend übersetzt werden, ist es sehr praktisch, wenn diese im Markup definiert werden können:
<fieldset>
<legend><asp:RadioButton ID="rbCC" runat="server" GroupName="pay" Text="Kreditkarte" /></legend>
</fieldset>
Damit muss ich in der PageLoad Methode der Controls nurnoch TranslateMe(rbCC) aufrufen, und der im Markup angegebene Text würd übersetzt, und wieder in das Control geschrieben.
Zusätzlich kann ich auch im Markup direkt <%=Translate("Name")%> benutzen.
2b205eec-64e1-4dc8-84fe-a603501f1df8|0|.0|27604f05-86ad-47ef-9e05-950bb762570c