Autor Zpráva
Rajce
Profil
Dobrý den, mám takový začátečnický dotaz, jak jinak. Zajímalo by mne, jestli je možné, BEZ POUŽITÍ PHP, tedy jenom HTML, Javascript nebo CSS, načíst do stránek text pod nějakou proměnou z různých souborů. Jde mi o vícejazyčnou verzi stránek, tak abych pro každý jazyk nemusel stránky kopírovat, že bych si texty uložil do souborů a z nich je potom načítal do jedné stránky.
Poraďte prosím, zda je to možné a jakými příkazy, případně jakým javascriptem.

THX
Yrrah
Profil
Ne, musíš mít více skoro stejných HTML souborů pro každý jazyk.

Ale stejně si myslím, že je lepší ty stránky udělat třeba v PHP a pak je nechat vygenerovat ve všech jazycích do více HTML souborů a patřičné adresářové struktury a pak už to jen hodit na server.
peta
Profil
Rajce
"více skoro stejných HTML souborů pro každý jazyk"
1 reseni, asi nejlepsi, kvuli moznosti nefungujiciho JS
"že je lepší ty stránky udělat třeba v PHP"
2 reseni, tez si myslim, ze lepsi (jeste bych mozna pouzil SQL k PHP)

Na co se ptas, to mozne je, ale pak musis celou stranku nebo jen jeji jazykove casti prepsat, coz muze byt i pracne. Totez je v podstate reseni 1 (to je primo HTML). Totez dela reseni 2, uz primo generuje HTML a neni problem pri zablokovani JS.

Ale jestli na tom fakt trvas, JS, je mozne udelat si pole
var lng = [
'ahoj',
'mama'
];
alert(lng[0])
NEBO (pozor, objekt, jine zavorky)
var lng = {
'pozdrav: 'ahoj',
'mama': 'mama'
};
alert(lng['pozdrav'])
A NEBO pouzit innerHTML pro body nebo nejaky div a prepsat celou stranku (coz lze provadet na pozadi pres iframe, kam nactes HTML a prepises stavajici)
A JESTE NEBO
x='<a href="aaa">menu1</a>...';
y='<a href="bbb">menu2</a>...';
<button onclick="objektpodleID.innerHTML=x">
<button onclick="objektpodleID.innerHTML=y">
(coz ale natahuje opet obe jazykove verze naraz)
Rajce
Profil
2 peta: Díky moc za snahu....bude to znít podivínsky, ale mě se zatím zamlouvá nejvíce to poslední řešení, tedy oba texty mít napsané v jedné stránce a nějakým spůsobem (přes menu) je vyvolávat. Toho textu není zase tolik. Asi deset vět a štve mě, že bych po každé úpravě grafiky musel předělávat všech šest jazykových mutací :-( Zatím to vyřeším tedy posledním zmíněným návodem a snad se časem dohrabu i na PHP
krteczek
Profil

function jazyk()
{
// funkce zjistí obsah proměnné $_GET['lang'] v adrese
//pokud není žádný nebo neznámy vrátí cs
if(!empty($_GET['lang']))
{
case 'en'; $lang = 'en'; break;
case 'pl'; $lang = 'pl'; break;
//pokracovat lze i dal vzdy case a jazyk
default; $lang = 'cs';
}
else
{
$lang = 'cs';
}
return $lang;
}
//zjistíme jakou chce stránku uzivatel (v jakém jazyce) o-nas.php?lang=en
$lang = jazyk();

//text se umístí do proměnných
$title['cs'] = 'titulek stránky, hlavní nadpis v cz'
$text['cs'] = 'nějaký text v cz";

$title['en'] = 'titulek stránky, hlavní nadpis v en'
$text['en'] = 'nějaký text v en";

$title['pl'] = 'titulek stránky, hlavní nadpis v pl'
$text['pl'] = 'nějaký text v pl";

//no a ted to musís vypsat na stránku
<!-- nějaký html kod -->
<title><?php echo $title[$lang];?></title>

<!-- nějaký html kod -->
<h1><?php echo $title[$lang];?></h1>

<div id="obsah"><?php echo $text[$lang];?></div>

takhle muzes mit v jedne stránce všechny jazykové verze další jen přidáš do funkcce lang a samozřejmě k ní příslušné $title['jazyk'] a text['jazyk']

adresy jsou potom takove: nazev-stranky.php?lang=en
krteczek
Rajce
Profil
krteczek: díky za pomoc.........ještě takový dotaz......co když potřebuji ten text v různých jazycích mít různě formátovaný - odstavce, kurzíva, tučné......lze použít klasické html tagy?

DTTO: Stránky které se snažím vytvořit
tiso
Profil
Rajce ak by si dôsledne oddelil vzhľad od obsahu pomocou CSS, tak by si nemal takéto problémy...
Rajce
Profil
2 tiso: ak by si dôsledne oddelil vzhľad od obsahu pomocou CSS, tak by si nemal takéto problémy...

O to mi právě v počátku šlo. Mít jednu zdrojovou stránku v které by byl definovaný vzhled a "do ní" pak do určité části nahrát text z různých souborů, podle toho jakou by si uživatel zvolil jazykovou mutaci. Jenže jak to tak vypadá, tak bez znalosti PHP je to problém tím to způsobem neřešitelný.
Nebo jak jinak myslíš to "oddělit" ? Mohl by jsi to prosím více rozvést.

THX
tiso
Profil
Rajce narážal som na to čo si písal - štve mě, že bych po každé úpravě grafiky musel předělávat všech šest jazykových mutací
Pokiaľ by si nerobil zmeny v (X)HTML ale len v CSS, tak nemusíš prekopávať jazykové verzie...
Preto si najprv sprav šablónu stránky - upravuj ju pokiaľ nie je hotová (aby Ti nechýbali HTML prvky). Potom len šablónu skopíruješ, uložíš pod novým názvom súboru (podľa menu) a naplníš ju textom ktorý tam patrí... U Teba by to znamenalo vytvoriť 6 jazykových verzií x 4 stránky = 24 stránok, s tým že každá jazyková verzia by mala iné menu (pri správnom návrhu ani to nie).
Rajce
Profil
2 tiso: ano, tak to je dělané doteď, každý jazyk má svou stránku.......sprav šablónu stránky - upravuj ju pokiaľ nie je hotová Potíž je ta, ta ať se člověk snaží kolikrát jak chce, tak se pak vždycky najde něco co se v grafice opravit musí i "rozkopírování" a pak musím opravovat všech šest mutací :-)))))))) Zadavatelka si za pár dní třeba vzpomene, že chce změnit barvu, přidat fotku, z dobrých kontaktů bude chtít přidat ještě sedmý jazyk, atd. A kolotoč s úpravou začne od začátku. Tím chci říci, že nikdy nic není 100% :-) Nejspíš si zkusím pohrát s tím zdrojem od krteczka.

Díky moc všem za snahu :-)
tiso
Profil
Rajce - keď sa necháš stále ovplyvňovať zadávateľkou... :-) Cez PHP by si to vyriešil na jednom nieste a mal by si pokoj...
Rajce
Profil
2 ALL: Tak jsem se tíém teď přehraboval....zatím nic moc, ale zrak mi padnul na dalším problému......jak by to bylo v případech co uváděl peta a keteczek při změně kódování textu ????? :-) Přecijenom tam mám verze pro norštinu, a co hůř, i arabštinu. :-D
tiso
Profil
Rajce tak to by malo vyriešiť kódovanie utf-8
Rajce
Profil
2 tiso: ano, pro norštinu....ale čeština pak bude v háji....takže to znamená, že se vracím k systému, kdy budu mít pro každý jazyk zvlášť stránku s příslušným kódem :-) Takže moje téma je tím pádem naprosto irelevantní :-)))))
Toto téma je uzamčeno. Odpověď nelze zaslat.