Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Impostare un sito statico per il multi lingua

    Ciao a tutti.
    Devo impostare la possibilità di cambiare lingua in un sito costituito interamente da contenuto statico.
    Il testo che viene visualizzato è incorporato nelle singole pagine e non in un database.

    Per gestire la cosa pensavo di passare nell'URL una variabile lang=ita/ing in modo che se settata su una o l'altra lingua visualizzi uno o l'altro testo. una cosa tipo:
    codice:
    if(lang=="ita" or lang==""){
    print"Bella ciao."
    } else if (lang="ing"){
    print"Hi beautiful."
    }
    Che dite? Esiste un modo più adatto?
    All'uomo non verrà mai tanto male quanto dall'uomo.

  2. #2

  3. #3
    Niente... non capisco come funzionano.

    Se uso le variabili passate nell'URL, esiste un modo per fargliele mantenere automaticamente ad ogni link nuovo oppure devo possrre in ogni link una cosa tipo:
    Codice PHP:
    [url="link.php<?php if($_GET[lang]=="]">link[/url]
    Me sa de si eh?
    All'uomo non verrà mai tanto male quanto dall'uomo.

  4. #4
    potresti fare cosi:

    Codice PHP:
    pag.php?lang='quella che è' 
    poi ti crei una funzione in php e una tabella in mysql con una colonna per lingua

    la funzione

    Codice PHP:
    function traduci($expr,$lingua)
    {
    $result=mysql_query("SELECT $lingua FROM traduzioni WHERE ita='$expr'");
    $row=mysql_fetch_array($result);
    return 
    $row[$lingua];

    la tabella
    Codice PHP:
    CREATE TABLE traduzioni (ita TEXTeng TEXT); 
    INSERT INTO traduzioni SET ita='Ciao'eng='Hello'
    nel codice
    $lang=$_GET['lang'];
    echo traduci('Ciao',$lang);

    Nella funzione traduci metti sempre l'espressione in italiano e una variabile che trasmette la lingua in cui vuoi tradurla. La funzione cerca nel DB la corrispondenza.

    La funzione, volendo, può diventare:

    Codice PHP:
    function traduci($expr,$lingua)
    {
    if (
    $lingua=='ita') return $expr;
    $result=mysql_query("SELECT $lingua FROM traduzioni WHERE ita='$expr'");
    $row=mysql_fetch_array($result);
    return 
    $row[$lingua];

    per evitare di leggere nel DB la traduzione in italiano

  5. #5
    Ah si bello. Ci avevo pensato all'inizio. Ma non dispongo di un database MySQL e il sito non è stato strutturato da me. Non mi va di modificarlo così a fondo. Quindi me la gestirò col testo statico dentro le singole pagine e gli if().

    La domanda quindi resta: se c'è una variabile nell'URL (lang=ing), posso farlgilea mantenere nella navigazione senza dovergliela riscrivere a ogni href?
    All'uomo non verrà mai tanto male quanto dall'uomo.

  6. #6
    devi usare le sessioni e una pagina fasulla che "switchi" la variabile di sessione

    tutte le pagine devono iniziare con

    Codice PHP:
    session_start()
    if (!isset(
    $_SESSION['u_lang'])) $_SESSION['u_lang']='ita' 

    switch_lingua.php
    Codice PHP:
    if(isset($_GET['lang']))
        
    $_SESSION['u_lang']=$lang;

    header("location: index.php"); 
    nelle pagine:
    Codice PHP:
    [url="switch_lingua.php?lang=ita"]Ita[/url]
    [
    url="switch_lingua.php?lang=eng"]Eng[/url

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.