Autor Zpráva
pavel prochazka.zde.cz
Profil *
Zdravim...
nema nekdo tuseni jak elegantne vyresit jazykove mutace ve scriptu?
Nemam zajem to delat pomoci IF... Textu je ve scriptu pomerne hodne a planuji cca 3 jazyky...
Je v php neco jako v cecku nejake zdroje? Texty chci mejt v souboru kde se nachazi samotny script...
Anonymní
Profil *
Ja bych rek ze existuji dva pritupy.
1. Nastavis si nejakou kosntantu s aktualne pouzitym jazykem. Podle ni vlozis do stranky soubor s promennymi v danem, ktere budou predstavovat napriklad polozky menu atd. A vsude kde mas nejaky pevne dany text (menu, zahlavi, zapati) pouzijes tyhle konstanty. A texty a podobne budes muset ukladat asi do databaze v nekolika jazycich a pak to pomoci te konstanty taky ifnout a tahat z databaze spravne polozky.

2. gettext

Nevim jestli se da pouzit jeste neco jineho. Ale nikdy jsem to nedelal, jen tak jsem se nas tim zamyslel.
pavel prochazka.zde.cz
Profil *
napadlo me jeste ze kazdy text by byl v jednorozmernem poly a podle indexu by se pozlisoval pozadovany jazyk...
Toto je i dle me jednoduche na rozsireni.....
Marcus Flintus
Profil
s mym sablonovym systemem je to hracka
- jenom mu podhodim HTML sablonu z jiného adresáře - třeba podle SESSION. ;-)
Retal
Profil
Zkus se podívat, jak to řeší např. Drupal. Všechny metainformační řetězce ("Login", "Read more", "Search" atd.) jsou prohnány přes funkci, která se mrkne do databáze, zda pro zvolený jazyk existuje překlad (funkce dostává řetězec vždy v angličtině). Nicméně tato flexibilita je znevýhodněna poměrně velkým overheadem při generování každé stránky (ok, stránky se cachují atd. ale přesto).
*-Nuke to řeší zase pomocí konstant, přičemž při inicializaci skriptu se načte soubor s konstantami podle zvoleného jazyka (include('languages/[en/de/cs...]/global.php')). To je méně náročné, na druhou stranu to je dost nešikovné - řetězce se musí upravovat v editoru a musíš si dávat pozor na znakovou sadu.
Určitou kombinaci používá Mambo/Joomla, kde jsou řetězce uložené v souborech, ale můžeš je editovat v administraci. Je to taky nešikovné, ale aspoň na to nepotřebuješ editor a hrabat se v souborech.
Nebo, jak říká Marcus Flintus, můžeš na to jít pomocí šablonového systému a vytvořit jednotlivé jazykové šablony.

Záleží na tom, jak často se řetězce budou upravovat, zda má mít možnost je upravovat i netechnicky založený správce obsahu (majitel, redaktor), nebo zda se napíší jednou a pak už se na ně nesahá.
pavel prochazka.zde.cz
Profil *
No zatim vyvijim urcity script.... a pokud do neho pridam nejake hlasky, tak bych je chtel mejt v nekolika jazykovych mutaci.... takzi nikdo krom me na to nebude asi sahat.... a pokud ano, tak jedine pres soubory a ty se potom uploudnou na net....
Toto téma je uzamčeno. Odpověď nelze zaslat.