jak na jazykové mutace webu

Jak nejčastěji řešíte vícejazyčné weby? Stejné stránky, jiné texty - a aby se to dalo nějak co možná elegantně aktualizovat... Co vám nejvíc vyhovuje - jednoduše dvě verze stránek, texty v SQL, nebo v proměnných? Nebo nějaká jiná možnost?
no nwm, kdybych potřeboval více jazyčný web (což zatím nepotřebuji) tak bych asi includoval text podle proměnné - je to ale jen věc názoru (nemám s tím žádnou praxi)
díky Ondro, spíš právě čekám na reakci někoho, kdo s tím praxi má ;-) variant je jistě několik, ale pořád nemůžu přijít na to, co bude nejvhodnější, zvlášť když je třeba občas ten webík aktualizovat a každá stránka má jinou formu obsahu (myslím tím strukturu jako nadpisy, odstavce, obrázky).
<HTML>Pokud jde o multi-jazykovou verzi obvykle jde i o CMS system...
Takze vsechny data jsou v DB (vc. tagu krome hlavy webu) a stylovany jsou samozrejme pomoci jednoho globalniho css. Bez pouziti sablon si tohle nedokazu ani dost dobre predstavit... mozna nejakou php prasarnou ;)</HTML>
2Richard: jedná se (v mém případě) o malé webíky, které ale očekávají zahraniční návštěvníky a majitelé chtějí cizojazyčnou verzi. U "php prasárny" jsem momentálně taky, jen mě zajímalo, jestli někdo nevymyslel něco elegantnějšího ;-)
když mají být webíky malé tak co zkusit něco jako je : http://www.wellstyled.com/
Jestli ti to pomuze tak sem kdysi vytvoril script na prepinani jazyka. Pomoci cookies si to pamatuje zvoleny jazyk i po opusteni stranky. Funguje to tak ze jsou dve slozky. v jedne je cesky obsah ve druhe napr anglicky. A podle toho jaky si kdo vybere jazyk tak to includuje bud ceky nebo anglicky. Styl staci jeden pro obe varianty pac obsah bude v podstate identicky.
Jestli chces tak si to stahni na:
http://firstpage.wz.cz/zmena_jazyka.zip
a skus treba ti ot pomuze a pripadne to pouzijes. ;)
no přepínání jazyků mám samozřejmě vyřešený, dík. Spíš mi šlo o to, jestli není nějaký jednoduchý způsob na ukládání těch dvou různých textů, abych nemusela stejnou část stránky včetně tagů psát dvakrát...
* resp. napsat to samozřejmě musím, ale hledám nejjednodušší cestu. Můžu podle zvoleného jazyka vybírat includovaný soubor - takže musím mít jednu stránku napsanou prostě dvakrát v různých jazycích. Můžu podle toho jazyka vybírat texty z proměnný, z DB, nebo můžu mít ve stránce podmínky u každého textu a podle jazyka dát do echa jedno nebo druhý.. ale to všechno mi přijde takový prapodivný. Ale zdá se, že se potvrdí moje teorie, že jednoduché řešení asi neexistuje...
dis: asi bych to texty umístil do databáze a stránky odlišil v url. Je s tím z mého pohledu nejméně práce.
Ja mam dve jazykove verze u jedne sve galerie. Ta galerie ma "config soubor" - phpko ktery includuju na zacatku obsahujici nastaveni, zakladni texty kolem a odkazy na soubory s dalsimi texty, popisky adresaru a fotek apod. Vyresil jsem to tak, ze nactu (includuju) defaultni konfiguraci a pak, pokud je nastavena promenna, nacitam odpovidajici konfigurak pro jiny jazyk.

http://pic.czweb.org/
http://pic.czweb.org/?ver=en

Hodne zalezi na tom, jak ten web vypada a kde jsou texty ted. Ja mel texty skoro vsechny v pomocnych souborech a zbytek vystrceny do toho konfigu, takze nejprirozenejsi bylo udelat dve konfigurace.
Tiež by ma to zaujímalo... Ja sa snažím vyriešiť to tak, že v dtb mám v tabulke všetky texty pomenované, a stĺpce:
-nazev_objektu
-sk
-cz
-de
-en

Zatial sa len snažím... aby sa len prehodil "stlpec".... ale zatial mi to moc nejde... je to vôbec dobré riešenie? nedohodili by ste mi niekto na to nejaký scriptík? bol by som fest vďačný...
díky
predpokladajme napr ze jazyk je v URL premenna $jazyk
,zistime si jeho hodnotu

takto by ti to malo ist...

$results=mysql_query("SELECT * FROM texty WHERE nazov_objektu='$nazov_objektu' ") or die ('chyba');
if($bow=mysql_fetch_Array($results))
{
$jazyk= $_GET['jazyk'];

$text= $bow["$jazyk"];

echo "$text";

}
mydlo:
Díky. predpokladám je $bow je stlpec? Pohram sa s tym....
Rozhodně by měly obě verze mít odlišné URL, což například Rellikův popis podle mě nesplňuje (jestli jsem ho teda dobře pochopil).
Odlišit jazyk jen pomocí cookie a na základě toho cookie includovat českou nebo anglickou verzi dané stránky je hloupost - jak si totiž s tím má asi poradit indexovací bot? Když pominu základní problém, že boti nepracují s cookies, pak by dostal dva různé obsahy na stejné adrese. Když ten problém s nepoužíváním cookies nepominu, výsledkem bude, že zaindexovaná bude jen jedna jazyková verze.
<HTML>Tom: true

Jinak zde nema asi moc cenu rozebirat tuto problematiku, protoze jednak nikdo neposloucha a kdyz, tak stejne by nevedeli o cem je rec :/</HTML>
Já se tedy podělím, jelikož jsem jich nějakou tu řádku udělal. Vždycky je to trochu o patlání a mám pocit, že elegantní cesta prostě neexistuje.

ad Richard: "Pokud jde o multi-jazykovou verzi obvykle jde i o CMS system"
To je sice pravda, ale většinou je tam dost věcí, které jsou statické a netahají se z databáze.

ad fábio: Lepší řešení by zřejmě bylo mít jen 3 sloupce nazev_objektu, obsah a lang a pak hledat podle nazev_objektu a lang.

Jinak fajn je to udělat přes rewrity a podle adresáře (en, cz) házet skriptům proměnné.

Pak vidim asi tři možnosti:
1) Na začátku stránky definovat třeba pole content a do toho vecpat různé jazykové verze různého obsahu (už sem to tak párkrát viděl)

Jakože: content['levej_sloupec']['cz'] = "blablbalbla" content['levej_sloupec']['en'] = "bleblebleble"

2) Používat if, else

3) Pro kratší věci jen echo( $lang=="en"?"...archive":"...archiwum" )
Omlouvám se za OT, víc už se tu rozepisovat nebudu.

Garofano, ty si byl v Bosně? A ty fotky na elementweb.wz.cz to je Neum, Mostar nebo něco jiného? Můžu mít soukromě přes email pár dotazů na tohle téma? Jenom potvrď a já se ozvu. Díky.
Jo byl, tohle je Mostar.

Se ozvi.
a co tohle?
switch($lang)
{
case cz: require "cesky_obsah_stranek";
case en: require "anglicky_obsah_stranek";
...
}

Prave nad necim taky premyslim, tak me napadlo toto, ale db bude asi lepsi...
Elegantní řešení? XML + XSTL. V XML se žádaný text obalí libovolnými tagy (klidně <xyz>Ahoj</xyz>) a XSTL je už jen filtr, který to převede na XHTML. Dá se dát obě mutace do jednoho souboru a vždy vybírat jen tagy nebo skupiny tagů, které budou mít např. <tag lang="cz">.
<HTML>XML se pouziva v aplikacich kde se pocita s uzivatelskym zasahem (language packy atp.) pro webovou mutaci se to priliz nehodi, zbytecne to komplikuje zapis (pokud ovsem neni zapisovano pres vytvorene rozhrani, to uz je rozumna varianta).
Jinak pro ujasneni zkratek ...
CZE - mezinarodni oznaceni ceske republiky
CZ - mezinarodni zkratka ceske republiky
CS - mezinarodni oznaceni ceskeho jazyka

takze kdyz uz tak CS ne CZ.</HTML>