Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kaikki ketkä luulee olevansa guruja, niin:

Sivun loppuun

Wizard [29.05.2004 12:27:30]

#

Antavat tähän ketjuun mielipidevastausksen siitä, että jos halutaan web sivustosta tehdä monikielinen, niin mikä on siihen paras tapa ja helpoin.

Vaihtoehdoista on suljettu pois se, että jokaisesta kieliversiosta tehdään oma PHP sivunsa eli esim. index.se.php & index.fi.php.

Periaatteessa on siis 2 vaihtoehtoa: haetaan sanastoa tietokannasta tai sitten luetaan tekstitiedostosta. Kumpikin tapa lienee ihan hyvä, mutta suorituskyvyltään miettii, että kumpi on parempi.

Sanat tehdään taulukkomaisesti eli sana #1 on suomeksi "etsi", ruotsiksi "söka" ja englanniksi "search".

Mielipiteitä kiitos.

kenkku [29.05.2004 12:38:38]

#

Tuotahan taulukko-hommelia käytetään ainakin foorumeissa paljon. Minusta hyvä tapa ja helppo muokata.

Wizard [29.05.2004 12:40:05]

#

En ole tutkinut, mutta mitä käyttää esim. phpBB?

TETRIS [29.05.2004 13:11:11]

#

phpBB:ssä ihan tavallisia filuja... tai siis kielet muokataan aina samaan filuun missä sorsa. Hieman huono tapa... itse käyttäisin tuota taulukko systeemiä jos olisi hieman isommat sivut kyseessä.

leftover [29.05.2004 14:26:43]

#

Oma kielimoottorini hakee suurimman osan sisällöstä kannasta tarkenteilla viesti_fi, viesti_se, viesti_en jne. jossa "_kieli" sijaitsee istuntomuuttujassa. Jos tarvitaan tekstinpätkää jota ei kantaan voida laittaa (esim. virheilmoitukset, kuukauden nimet jne.), lisään ne erilliseen kielitiedostoon muodossa

$taulukko['_fi'][0] = "Hei";
$taulukko['_se'][0] = "Hej";
$taulukko['_en'][0] = "Hi";

Lisäksi pidän sivuston rakenteet omissa rakenne_fi, rakenne_se jne. hakemistoissa koska tällöin vältytään esim. charencoden ym. tarkkailulta ja saadaan tarvittaessa (esim. arabian tapauksessa) käännettyä layout helposti ja vaivattomasti oikealta vasemmalle.

Nämä ovat siis omia tapojani, ei välttämättä parhaita mutta toimii ja helppo ylläpitää & lisätä kieliä.

Antti Laaksonen [29.05.2004 14:37:57]

#

Itse tekisin varmaan niin, että erikieliset sanat ovat omissa tiedostoissaan muuttujiksi määritettyinä.

//suomi.php
$tieto1 = "Testi";
$tieto2 = "Esimerkki";
//ruotsi.php
$tieto1 = "Test";
$tieto2 = "Exempel";
//saksa.php
$tieto1 = "Test";
$tieto2 = "Beispiel";

Sitten sivun alussa otetaan mukaan oikeankielinen tiedosto:

include("suomi.php");

Ja tekstit merkitään näin:

echo "<p>$tieto1</p>";

sooda [29.05.2004 14:45:56]

#

Leftoverin ja Laaksosen tyylit on aika samanlaisia, itse tekisin myös tolla tavalla. Leftoverilla on vain taulukoissa noi. Muuten sama(?) tapa...

Heikki [29.05.2004 15:12:25]

#

Vieläkun nimeää muuttujat kunnolla, niin ylläpito helpottuu, eli ei käytä mitään $tieto1 = "Tervetuloa sivuilleni!"; vaan $otsikko = "Tervetuloa sivuilleni";

Ja kuten tuossa tein, kannattaa laittaa kokonaisia tekstikappaleita muuttujaan. Paljon kätevämpää.

leftover [29.05.2004 16:29:58]

#

Tuota nimeämistä kannattaa harkita vain jos itse ylläpitää kaikkia osioita (ja kääntää). Eräs käännöstyö jonka ohjeistin "kaikki lainausmerkkien välistä olevat tekstit käännetään palautui muodossa:

$taulukko['_de']['Tämä_osa_käännetty_saksaksi'] = "Saksankielinen käännös";

Näitä käännöksiä kun oli yli sata kappaletta, oli mukavaa pähkäillä mitä sana "Glûheswein" (tjsp.) mahtaisi olla suomennettuna :D

EDIT: länttää lähetyspainiketta vaikka haluaisit vielä kirjoittaa on näköjään mottoni. Itse suosin myös kokonaisia lauseita, helpompi ylläpitää yhtä muuttujaa jos vertaa esim. 7 muuttujasta kasattuun lauseeseen (eikä sanajärjestys välttämättä täsmää kaikissa kielissä).

Juhis [31.05.2004 19:27:09]

#

Itse käytän taulukkoa suht koht isolla saitilla ja toimii todella hyvin. Sivun alussa haetaan ip:n perusteella oikea kielitiedosto. Siis jos ei olla kirjauduttu sisälle. Jos ollaan kirjauduttu sisälle, haetaan sessiosta oma kieli ja sen perusteella heataan oikea kielitiedosto.

Taulukot on nimetty englanniksi, jotenka jos joku turkkilainen kebabin kääntäjä haluaa kääntää saitin turkiksi, voi hän minulta pyytää englannin kielipakettia.

$LANG[title] = "Otsikko"; // lang_fi.php
$LANG[title] = "Title";  // lang_en.php

jne

NiKC [31.05.2004 23:08:42]

#

Itselläni on valmiina moinen tiedosto+taulukkototeutus. Jos kiinnostaa niin jollei ihan out-of-the-box saa toimimaan niin hyvin lähelle ainakin.

Sainpahan taas hyvän syyn mainostaa boardia. Olinpa ovela ;)
Jees, eli käytössä voi katsella osoitteessa http://nikc.fdns.net/~nikke/dev/php/elfbb/web/

Jos gzipattu tar (winace ainakin osaa) ei ole ongelma niin sorsat löytyy ->
http://nikc.fdns.net/~nikke/dev/php/elfbb/web/elfbb.tgz

Siinä tosin on koko boardi. Tutki sorsia. Mitenkään täydellinen ratkaisu tuo ei ole ja saattaa kaivata pientä säätöä, mutta se toimii.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta