Visualizzazione risultati 1 fino 9 di 9

Discussione: include() in base alla lingua impostata dal browser.

  1. #1
    Guest

    Predefinito include() in base alla lingua impostata dal browser.

    Allora ragazzi, è una domanda forse banale, ma devo aggiornare il mio sito, quindi migliorare lo switch automatico. Per ora Inglese è Italiano, già troppo

    Per ora utilizzo questo:
    Codice PHP:
    $user_lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

    if (
    substr($user_lang, 0, 2) == 'it')
    {
    $language = 'it';
    }
    if ((
    substr($user_lang, 0, 2) == 'en') || (substr($user_lang, 0, 2) == 'us'))
    {
    $language = 'en';
    }
    Da quel che ho visto (nel mio sito personale attuale), i motori di ricerca non indicizzazione bene, potete vedere da qui.

    Il primo risultato, dovrebbe essere, nel caso fosse Google.it:
    Pagina Principale - Federico Biccheddu

    Altrimenti:
    Home Page - Federico Biccheddu

    Questo perché, includerò dei file in base alla lingua del browser (in futuro cercherò di inserire l'opzione epr la scelta, uno switch per la lingua basato sulle sessioni/cookie), ma fino ad ora senza risultati come potete vedere.

    Mentre se entro nella pagina e ho la lingua impostata in inglese, questo viene visualizzato perfettamente in inglese.

    Avete qualche idea, quindi un buon metodo per fare quel che vorrei e non ritrovarmi col sito indicizzato a metà?

  2. #2
    Guest

    Predefinito

    Beh.. semplicemente metti un link nel sito per fare lo switch della lingua.. dopo di che se hai la lingua italiano lo mandi a /it/page altrimenti a /en/page (usi il mod rewrite per ottenere questo risultato).
    Quando lo spider di google indicizza il sito trova il link per il cambio della lingua e va anche li, indicizzando le pagine in inglese.

  3. #3
    Guest

    Predefinito

    Grazie stoner, ma per ora, come da titolo, l'include dovrà variare in base alla lingua.

    In realtà il sistema è così, in ogni pagina, all'inzio, includo un file, tra cui c'è questo codice:

    Codice PHP:
    $user_lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

    if (
    substr($user_lang, 0, 2) == 'it')
    {
    $language = 'it';
    }
    if ((
    substr($user_lang, 0, 2) == 'en') || (substr($user_lang, 0, 2) == 'us'))
    {
    $language = 'en';
    }

    $lng_path = './lng/' . $language . '/';
    $lng_file = $lng_path . 'lang.php';
    Poi nella pagina, in cui viene incluso questo file "globale", richiamo il file di lingua con:
    Codice PHP:
    include($lng_file);
    Però ho visto che non funziona, quindi vorrei vedere se ci fosse qualcosa di più efficace, che questo "include grezzo"

  4. #4
    Guest

    Predefinito

    Ecco qui stampa una cosa del tipo:
    ./lng/it/
    ----------------------------------------
    ./lng/it/lang.php
    Codice PHP:
    $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

    switch (
    $user_lang) {
    case
    "it": $lg = "it"; break;
    case
    "en": $lg = "en"; break;
    case
    "us": $lg = "us"; break;
    default:
    $lg = "it"; break;
    }

    $lng_path = "./lng/".$lg."/";
    $lng_file = $lng_path."lang.php";

    echo
    $lng_path."<hr />".$lng_file;
    ciauuuuu! ^^

  5. #5
    Guest

    Predefinito

    Diciamo che è uguale a quello che uso io, solo che tu hai usato lo switch, io invece una condizione.

    Switch intendevo un link per il cambio del link una volta entrato.

    Per me questo va bene, per gli utenti idem, ma quel che mi interessa di più è per i BOT, loro rispettano questa condizione/switch?

  6. #6
    Guest

    Predefinito

    Beh... credo di si! ^-^ ...sennò devi agire da .htacces creando un file ogni volta! xD
    Ciauuuuuuuuuuu! ^-^

  7. #7
    Guest

    Predefinito

    Cosa vuol dire agire da .htaccess? Cioè, cosa dovrei farci con quello oltre nel caso inserire il parametro della lingua come cartella?

  8. #8
    Guest

    Predefinito

    Dovresti fare un redirect... xD
    Tipo ad ogni identificazione di lingua php crea un htaccess con una directoryindex diversa ad esempio! xD
    Ciauuu! ^_^

  9. #9
    Guest

    Predefinito

    Ma è uno spreco di risorse assurdo

    Mica fanno così i CMS, mica ti vanno a creare directory con file all'interno ad ogni visita.

    Il problema sono questi bot, non ho modo di verificare se effettivamente funziona o no!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •