Kieliversiot sivuista?

Mikä olisi järkevin tapa tehdä samoista sivuista versiot eri kielillä?
7561
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

Ekana mieleentuleva (=luultavasti pidemmän päälle heikko) ratkaisu on tallentaa jokaiselle kieliversiolle omat kiinteät merkkijonot omiin tiedostoihin eli vaikkapa:

-- suomi.inc: --
$text_title = "Tervetuloa!";
$text_h1 = "H1 -teksti";
$text_p = "BODY -teksti";

-- english.inc: --
$text_title = "Welcome!";
$text_h1 = "Text for H1";
$text_p = "Text for BODY";

-- index.php: --

Äänestä
  • include $lanquage.'.inc';

    ja sitte tekee fi.inc en.inc jne.

    Äänestä

  • Piru kirjoitti:

    include $lanquage.'.inc';

    ja sitte tekee fi.inc en.inc jne.

    include "suomi.inc";
    tai
    include $lanquage.'.inc';

    Mutta miten välitetään tieto siitä mikä kieli on kyseessä? Jotenkin kai $QUERY_STRINGillä mutta miten se nyt meni.

    *todellakin aloittelija*

    Äänestä

  • Kaksikielinen kirjoitti:

    include "suomi.inc";
    tai
    include $lanquage.'.inc';

    Mutta miten välitetään tieto siitä mikä kieli on kyseessä? Jotenkin kai $QUERY_STRINGillä mutta miten se nyt meni.

    *todellakin aloittelija*

    $_REQUEST['locale']


    Jos kyseistä tietoa ei tarvita ekalla sivulla, niin voihan selaimessa pistää localen cookieen tai formin hidden kenttään yms.

    Sitten hakee sen vaan $_COOKIE tai $_POST taulukoista.

    Äänestä

  • Piru kirjoitti:

    $_REQUEST['locale']


    Jos kyseistä tietoa ei tarvita ekalla sivulla, niin voihan selaimessa pistää localen cookieen tai formin hidden kenttään yms.

    Sitten hakee sen vaan $_COOKIE tai $_POST taulukoista.

    Arvaa ymmärsinkö jotain tuosta.

    Miten olisi pieni toimiva esimerkki.

    Äänestä

  • Kaksikielinen kirjoitti:

    Arvaa ymmärsinkö jotain tuosta.

    Miten olisi pieni toimiva esimerkki.

    Toimivuudesta en tämän kanssa tiedä, en aio testata. Ja paras tapa oppia on tehdä itse, vaikka vaikeata alkuun olisikin =)

    Eräs tapa:

    Laitat kaikille sivuille (tai vähintäänkin etusivulle) linkit eri kieliversioihin sillai, että tulee
    Englannille - index.php?locale=en
    Suomelle - index.php?locale=fi
    Ruotsille - index.php?locale=se

    ja sitten ihan siinä index.php:n alussa komennat
    $locale = $_GET['locale'];
    include $locale.".inc";

    Sekä kaikkiin omalle saitille osoittaviin linkkeihin perään tuon ?locale=$locale

    Tämä on vähän lyhytnäköinen ratkaisu, sillä tuollainen erillinen kielen valitseminen on toistuvasti vittumaista. Tutustu kekseihin (cookies), joilla voit jättää selaajan koneelle tiedon, mitä kieliversiota hän käyttää.

    http://fi.php.net/manual/en/features.cookies.php

    Nyt, tuota localea lukiessa jos ei ole annettu osoiteriviltä locale -muuttujaa ( !isset($_GET['locale']) ), tarkista seuraavaksi, onko se jo kekseissä saatavana.

    Ota kuitenkin huomioon, että jotkut käyttäjät ovat estäneet keksien käytön selaimissaan. Pidä siis huoli, että varalla on esimerkiksi tuo osoiterivimenetelmä.

    Hauskaa opiskelua!

    Äänestä

  • harmaahurtta kirjoitti:

    Toimivuudesta en tämän kanssa tiedä, en aio testata. Ja paras tapa oppia on tehdä itse, vaikka vaikeata alkuun olisikin =)

    Eräs tapa:

    Laitat kaikille sivuille (tai vähintäänkin etusivulle) linkit eri kieliversioihin sillai, että tulee
    Englannille - index.php?locale=en
    Suomelle - index.php?locale=fi
    Ruotsille - index.php?locale=se

    ja sitten ihan siinä index.php:n alussa komennat
    $locale = $_GET['locale'];
    include $locale.".inc";

    Sekä kaikkiin omalle saitille osoittaviin linkkeihin perään tuon ?locale=$locale

    Tämä on vähän lyhytnäköinen ratkaisu, sillä tuollainen erillinen kielen valitseminen on toistuvasti vittumaista. Tutustu kekseihin (cookies), joilla voit jättää selaajan koneelle tiedon, mitä kieliversiota hän käyttää.

    http://fi.php.net/manual/en/features.cookies.php

    Nyt, tuota localea lukiessa jos ei ole annettu osoiteriviltä locale -muuttujaa ( !isset($_GET['locale']) ), tarkista seuraavaksi, onko se jo kekseissä saatavana.

    Ota kuitenkin huomioon, että jotkut käyttäjät ovat estäneet keksien käytön selaimissaan. Pidä siis huoli, että varalla on esimerkiksi tuo osoiterivimenetelmä.

    Hauskaa opiskelua!

    Jos itse tekisin niin rekisteröisin valitun kielen sessioniin ja tämän jälkeen hakisin tietokannasta valitun kielen mukaan sivun alussa teksti materiaalin ja sitten vain echoisin sitä halutuissa kohdissa.

    Äänestä

Kommentoi aloitusta


Kaksikielinen kirjoitti:

Mikä olisi järkevin tapa tehdä samoista sivuista versiot eri kielillä?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu