Autor | Zpráva | ||
---|---|---|---|
majo80 Profil * |
#1 · Zasláno: 11. 3. 2011, 20:40:09
Mal by som napr. súbor slovencina.txt, ktorý by obsahoval:
Prvá stránka Toto je iný text Posledný odkaz ... Pomocou <?php $subor = fopen("./slovencina.txt", "r"); $text1=fgets($subor); $text2=fgets($subor); fclose($subor); ?> by som načítaval jednotlivé riadky do premenných $text1 až $textXXX. Problém ale asi bude robiť opätovné načítavanie tejto funkcie (teda otvorenie a zatvorenie súboru s prekladom) pretože by som túto funkciu musel includovať do každej otváranej stránky. Je možné nejako cacheovať buď samotný súbor slovencina.txt, alebo premenné s ich obsahom text1 až textXXX? |
||
Tori Profil |
#2 · Zasláno: 11. 3. 2011, 21:38:08 · Upravil/a: Tori
Zatím jsem viděla používat tři možnosti (ale určitě jich je víc)
- Pro každý jazyk samostat.soubor s jedním velkým polem, kde budou všechny texty na stránce v jednom jazyku. Podle zvoleného jazyka se jeden z nich includuje. Příklad: // cestina.php $preklad = array( 'pozdrav' => 'ahoj', ); // použití: include 'cestina.php'; echo $preklad['pozdrav']; // napíše "ahoj" - Dtto, ale pole je přístupné přes funkci (metodu), které se může předat x dalších parametrů a ty se automaticky doplní do textu. Zjednodušený příklad: // cestina.php class Preklad_CS { protected $preklad = array( 'poloneza' => 'Měla babka %1 jabka a dědoušek jenom dvě.', ); function get($text, $nahrada) { return str_replace('%1', $nahrada, $this->preklad[$text]); } } // použití: include 'cestina.php'; $slovnik = new Preklad_CS(); echo $slovnik->get('poloneza', 'čtyři'); // napíše "Měla babka čtyři jabka a dědoušek jenom dvě." - Gettext (velmi flexibilní, podporuje různé tvary plurálu) Koukněte na tahle dvě vlákna: Odkaz, Odkaz |
||
l564 Profil |
#3 · Zasláno: 11. 3. 2011, 22:57:35
Zde tě odkazuji na tvé dřívější vlákno
|
||
Časová prodleva: 13 let
|
0