Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Avviare la localizzazione

    Ciao a tutti,
    ho un sito dove ho creato i file x la localizzazione e funziona perfettamente.

    Ma ho anche le classiche bandierine dove uno può scegliere in che lingua vedere il sito.
    Ma ora mi domando... come posso fare in modo che i testi della localizzazione non vadano solo in automatico ma anche a seconda della scelta dell'utente?

    Mi sono spiegato?
    grazie a tutti.

  2. #2
    Rendi la bandierina un "LinkButton" e assegni il seguente codice all'evento click (esempio per la selezione della lingua inglese):

    codice:
        Protected Sub lnKLingua_EN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnKLingua_EN.Click
    
            ' Seleziona Lingua INGLESE
            '
            Dim culture As String = "en-GB"
            '
            Session("Culture") = New CultureInfo(culture)
            Session("UICulture") = New CultureInfo(culture)
            '
            ' Definisce Path
            '
            Response.Redirect(<<dove_vuoi>>)
    
        End Sub
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da Igor Baldacci
    Rendi la bandierina un "LinkButton" e assegni il seguente codice all'evento click (esempio per la selezione della lingua inglese):

    codice:
        Protected Sub lnKLingua_EN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnKLingua_EN.Click
    
            ' Seleziona Lingua INGLESE
            '
            Dim culture As String = "en-GB"
            '
            Session("Culture") = New CultureInfo(culture)
            Session("UICulture") = New CultureInfo(culture)
            '
            ' Definisce Path
            '
            Response.Redirect(<<dove_vuoi>>)
    
        End Sub
    Mi spiace ma non va! Non mi cambia nulla.

    Ecco il codice che ho messo:

    codice:
    Protected Sub ImageButton2_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton2.Click
            Session("Language") = 2
    
            ' Seleziona Lingua INGLESE
            '
            Dim culture As String = "en-GB"
            '
            Session("Culture") = New CultureInfo(culture)
            Session("UICulture") = New CultureInfo(culture)
            '
            Dim fromURL
            fromURL = Request.ServerVariables("HTTP_REFERER")
            Response.Redirect(fromURL)
        End Sub
    Ma devo mettere nelle pagine: Culture="auto" - UICulture="auto"
    o mi basta mettere solo nel web config: <globalization culture="auto" uiCulture="auto" />

    ???

  4. #4
    non mi quadra il "Session("Language") = 2" che hai messo, me lo puoi spiegare?

    Partiamo dall'inizio: esegui lo localizzazione all'interno di una masterpage? Il codice che ti ho postato fa riferimento alla localizzazione con master.page, che richiede un overrides della funzione InitializeCulture():


    codice:
        Protected Overrides Sub InitializeCulture()
    
            ' Impostazioni Cultura
            '
            Dim Cultura As CultureInfo
            '
            ' Culture
            '
            If (Not (Session("Culture")) Is Nothing) Then
                Cultura = CType(Session("Culture"), CultureInfo)
            Else
                Cultura = New CultureInfo("en-GB")
            End If
            Thread.CurrentThread.CurrentCulture = Cultura
            '
            ' UI Culture
            '
            If (Not (Session("UICulture")) Is Nothing) Then
                Cultura = CType(Session("UICulture"), CultureInfo)
            Else
                Cultura = New CultureInfo("en-GB")
            End If
            Thread.CurrentThread.CurrentUICulture = Cultura
            '
            MyBase.InitializeCulture()
    
        End Sub
    Se così non è posta il code di una pagina localizzata, forse ci aiuta di più.
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  5. #5
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da Igor Baldacci
    non mi quadra il "Session("Language") = 2" che hai messo, me lo puoi spiegare?

    Partiamo dall'inizio: esegui lo localizzazione all'interno di una masterpage? Il codice che ti ho postato fa riferimento alla localizzazione con master.page, che richiede un overrides della funzione InitializeCulture():


    codice:
        Protected Overrides Sub InitializeCulture()
    
            ' Impostazioni Cultura
            '
            Dim Cultura As CultureInfo
            '
            ' Culture
            '
            If (Not (Session("Culture")) Is Nothing) Then
                Cultura = CType(Session("Culture"), CultureInfo)
            Else
                Cultura = New CultureInfo("en-GB")
            End If
            Thread.CurrentThread.CurrentCulture = Cultura
            '
            ' UI Culture
            '
            If (Not (Session("UICulture")) Is Nothing) Then
                Cultura = CType(Session("UICulture"), CultureInfo)
            Else
                Cultura = New CultureInfo("en-GB")
            End If
            Thread.CurrentThread.CurrentUICulture = Cultura
            '
            MyBase.InitializeCulture()
    
        End Sub
    Se così non è posta il code di una pagina localizzata, forse ci aiuta di più.
    Ciao allora ecco come faccio la localizzazione:

    Ho creato nella cartella AppLocalResources i vari file per la localizzazione es:
    index.aspx.it.resx

    Nel web.config ho messo:
    <globalization culture="auto" uiCulture="auto" />

    E nelle pagina index richiamo così il testo da utilizzare:
    <asp:Label ID="lblar" runat="server" meta:resourcekey="lblar" Text=""></asp:Label>

    Quindi non dove dovrei creare la master.page? e dovrei mettegli solo questo codice dentro?

    grazie per l'aiuto.

  6. #6
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da mexican
    Ciao allora ecco come faccio la localizzazione:

    Ho creato nella cartella AppLocalResources i vari file per la localizzazione es:
    index.aspx.it.resx

    Nel web.config ho messo:
    <globalization culture="auto" uiCulture="auto" />

    E nelle pagina index richiamo così il testo da utilizzare:
    <asp:Label ID="lblar" runat="server" meta:resourcekey="lblar" Text=""></asp:Label>

    Quindi non dove dovrei creare la master.page? e dovrei mettegli solo questo codice dentro?

    grazie per l'aiuto.

  7. #7
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Risolto

    Ho creato una PageBase con la classe all'interno. che mi controlla la sessione della lingua e mi cambia Culture e UICulture.

    Ma ora se voglio lasciare sempre i numeri duoble con lingua italiana?

    Cioè 10,00 e non 10.00 ??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.