Miten olisi järkevin tapa toteuttaa sivusto sillain, että siellä olisi monta eri kieltä käytössä? Tarkotus olis, että myös hakukoneet löytäis näitä sivuja, kun etsitään tietyn kielisiä.
Tuolla on yksi tapa:
https://www.ohjelmointiputka.net/keskustelu/
Voi olla makukysymys, mikä on järkevin tapa.
Saattaa olla, että itse pyrkisin toteuttamaan sen jotenkin niin, että koodi olisi mahdollisimman helppolukuista.
Kenties noita periaatteita käyttäen, mutta laittamalla mahdollisesti joitakin toimintoja tulostettaviksi php-luokan kautta.
Ja jos haluat, että hakukoneetkin ymmärtävät indeksoida eri kieliversioita, niin osoiteriviltä pitäisi myös selvitä käytettävä kieli. Kokemusta ei ole, mutta veikkaan, että hakurobotit eivät kekseistä hirveästi välitä ja sen takia jättäisivät muut kun oletuskielet indeksoimatta.
Eli osoiteriville vaikka siististi domain.com/FI/index.php tai domain.com/EN/index.php ja mod_rewritella sitten PHP-sovellukselle tieto kielestä. Tai siis näin itse tekisin. Sen enempää en osaa ottaa kantaa miten sovelluksessa tuon kielivalinnan toteuttaa. Joko oma systeemi tai sitten vaikka Gettext.
Tässä on yksi vaihtoehto sepustettuna.
1) Tarkista $_GET
2) Tarkista $_COOKIE
3) Tarkista selaimen ilmoittamat kielet, ja päättele mikä kieli näytetään; oletuksena englanti, jos mitään sopivaa ei löydy.
Jos tahtoo pitää linkit siistinä uudelleenlatauksella, niin JavaScriptin voi toteuttaa niin että se poistaa href:in ja asettaa keksin, jolloin klikkaus lataa avoimen sivun uusiksi. Koska keksi on laitettu ennen sivun uudelleenlatausta, niin sivun pitäisi latautua uudelleen halutulla kielellä. Jos JavaScript ei ole käytössä, ladataan sivu lähettäen GET-arvo, joka kertoo sivun kielen. PHP voi sitten puolestaan tässä tapauksessa laittaa kielen.
Lopulta on sitten tietysti selaimen kielen tarkistus, selaimet ilmoittelevat yleensä kielen tai kielet jota ne voivat ottaa vastaan, tärkein ensin ilmoitettuna. Oletuksena voinee laittaa niin, että tässä tapauksessa ei keksiä talleteta, vaan se tallennetaan ainoastaan JavaScript-pätkän tai $_GETin seurauksena.
Ainakin tämän pitäisi olla varsin toimiva tapa, joka toimii varsin jouheasti: käyttäjän ei välttämättä tarvitse tehdä yhtään mitään kielen suhteen :)
Muoks! Ja luonnollisesti mod_rewrite tai ISAPI_Rewrite soveltuvat linkkien nätintämiseen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.