Zadejte hledaný výraz...

Jaké je nejlepší PHP řešení jazykových verzí stránek?

rakis
verified
rating uzivatele
18. 11. 2017 18:50:17
Jaké je nejlepší řešení jazykových verzí stránek? Jde mi Hlavně o jazykový soubor ve kterém budu uchovávat překlady... Jsem v PHP začátečník... Našel jsem tři možnosti...
  • include PHP kódu, de jednotlivým položkám přiřadím název a includuju jen soubor s jazykem, který chci
  • INI soubor (to znám např z Joomly a dalších CRM)
  • XML soubor
    Můžete mi říct výhody a nevýhody, případně ukázku kódu... Díky
  • 18. 11. 2017 18:50:17
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312695
    Dunky45
    verified
    rating uzivatele
    18. 11. 2017 18:54:23
    Nevím jaké se považuje za nejlepší, ale my jsme použávali první variantu kterou jsi vypsal. Teď to děláme přes YAML a pracuje se s tím dobře.
    18. 11. 2017 18:54:23
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312694
    rakis
    verified
    rating uzivatele
    18. 11. 2017 19:03:28
    Napsal Dunky45;1424916
    Nevím jaké se považuje za nejlepší, ale my jsme použávali první variantu kterou jsi vypsal. Teď to děláme přes YAML a pracuje se s tím dobře.
    A nějaký jednoduchý příklad? nebo stránky? Díky...
    18. 11. 2017 19:03:28
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312693
    node
    verified
    rating uzivatele
    (5 hodnocení)
    18. 11. 2017 19:17:29
    Je to naprosto jedno. Fakt. Sprav si to ako to vyhovuje tebe. Vyokonovo bude najlepsi PHP subor(ktory si ale mozes aj tak vygenerovat z ineho formatu) ale z hladiska UX bude lepsi nejaky yaml a pod. Z hladiska interoperability json lebo s nim mozes manipulovat lahko v akomkolvek jazyku(ie. JS editor).
    18. 11. 2017 19:17:29
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312692
    ViPErCZ
    verified
    rating uzivatele
    (21 hodnocení)
    18. 11. 2017 19:44:55
    Gettext + Poedit. Na composeru bude mrtě balíků (knihoven) pro práci. Poeditem si pak připravíte slovníky. Když budete dodržovat konvence, tak dokonce tuším Poedit umí oskenovat zdrojáky a najde si vše co se má přeložit. Taktéž by to mělo umět pak i množná čísla a podobný hovadiny.
    18. 11. 2017 19:44:55
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312691
    brooks
    verified
    rating uzivatele
    19. 11. 2017 07:50:01
    Překlady uchovávat v databázi. Mít tabulka key, val, lang. Do pole se načtou překlady zvolenýho jazyka. Napsat funkci na získání překladu, která má dva argumenty - key a default. Fce se podívá do pole, pokud key v poli neexistuje, zapíše se překlad do databáze + do pole a vrátí se val.
    Databáze se naplní přímo při stavění šablony, netřeba ještě editovat další soubory, prostě v šabloně použuju danej key. Pak jen vypustím překladatele do administrace, kde on vidí že má přeložit xx výrazů, u kterých má defaultní výraz zadanej při prvním použití.
    Tímhle stylem postaveno cca 200 projektů, 1-20 jazyků, nikdy žádnej problém, mnohem rychlejší a pohodlnější práce s překlady.
    19. 11. 2017 07:50:01
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312690
    rakis
    verified
    rating uzivatele
    19. 11. 2017 08:49:31
    Napsal ViPEr*CZ*;1424920
    Gettext + Poedit. Na composeru bude mrtě balíků (knihoven) pro práci. Poeditem si pak připravíte slovníky. Když budete dodržovat konvence, tak dokonce tuším Poedit umí oskenovat zdrojáky a najde si vše co se má přeložit. Taktéž by to mělo umět pak i množná čísla a podobný hovadiny.
    To se mi líbí hlavně z důvodu, že ve zdrojáku vidím o jaký text se jedná... a vypadá to efektivněji. Prosím jak vytvořím lang soubor tak abych ho mohl editovat v Poedit? Dělám ve windows a mám k dispozici jen html stránku? Můžete mi napsat postup? ¨Děkuji
    19. 11. 2017 08:49:31
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312689
    Tomáš Pavlík
    verified
    rating uzivatele
    (8 hodnocení)
    19. 11. 2017 10:25:52
    Já mám třeba jazyky vyřešené tak, že mám jazykové soubory cz.php, en.php, které neobsahují nic jiného, než pole. Viz příklad níže.
    Podle vybraného jazyka potom do stránky jen includuji daný PHP soubor.
    19. 11. 2017 10:25:52
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312688
    ViPErCZ
    verified
    rating uzivatele
    (21 hodnocení)
    19. 11. 2017 22:24:01
    Napsal rakis;1424940
    To se mi líbí hlavně z důvodu, že ve zdrojáku vidím o jaký text se jedná... a vypadá to efektivněji. Prosím jak vytvořím lang soubor tak abych ho mohl editovat v Poedit? Dělám ve windows a mám k dispozici jen html stránku? Můžete mi napsat postup? ¨Děkuji
    Soubor *.po se vytvoří přímo v Poeditu, zadáte jen jazykovou mutaci. Pak pokud dodržujete konvenci by mělo stačit naskenovat cestu, kterou zadáte. Poedit projde soubory a vytahá si slova nebo spojení, které se ve zdrojáku překládají a nabídne řekněme tabulke, kde si pak k jednotvivým "makrům" zadáte jejich překlady v příslušném jazyce *.po souboru. Pokud to nějaké texty nenajde, tak jdou tuším i vkládat ručně. Google k tomu najde určitě spousty informací.
    19. 11. 2017 22:24:01
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312687
    Kovboj
    verified
    rating uzivatele
    (13 hodnocení)
    20. 11. 2017 08:41:04
    Napsal brooks;1424939
    Překlady uchovávat v databázi. Mít tabulka key, val, lang. Do pole se načtou překlady zvolenýho jazyka. Napsat funkci na získání překladu, která má dva argumenty - key a default. Fce se podívá do pole, pokud key v poli neexistuje, zapíše se překlad do databáze + do pole a vrátí se val.
    Pro běžný web v pohodě a bude se to snadno editovat, ale pokud by mělo jít o hodně navštěvovaný web tak to bude zbytečná zátěž na databázi.
    20. 11. 2017 08:41:04
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312686
    Otakar Pěnkava
    verified
    rating uzivatele
    (25 hodnocení)
    20. 11. 2017 10:05:29
    Napsal Kovboj;1425143
    Pro běžný web v pohodě a bude se to snadno editovat, ale pokud by mělo jít o hodně navštěvovaný web tak to bude zbytečná zátěž na databázi.
    Předpokládal bych, že překlady by to stejně kešovalo. Databáze je přívětivější, v případě více jazyků se tam snadněji spravují nové překlady. Sám jsem ale také příznivcem PHP souborů.
    20. 11. 2017 10:05:29
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312685
    brooks
    verified
    rating uzivatele
    20. 11. 2017 10:33:17
    Napsal Kovboj;1425143
    Pro běžný web v pohodě a bude se to snadno editovat, ale pokud by mělo jít o hodně navštěvovaný web tak to bude zbytečná zátěž na databázi.
    Toho bych se vůbec nebál, je to jen jedinej prostej select, kterej stejně půjde z query cache, to už je snad režie spojená s čtením souboru vyšší.
    20. 11. 2017 10:33:17
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312684
    hm
    verified
    rating uzivatele
    (20 hodnocení)
    20. 11. 2017 10:52:32
    Napsal Kovboj;1425143
    Pro běžný web v pohodě a bude se to snadno editovat, ale pokud by mělo jít o hodně navštěvovaný web tak to bude zbytečná zátěž na databázi.
    Kovboji ty asi casto zapominas, ze existuje cache co? :) Delal jsi vubec nekdy nejake velke projekty? Ja jen, ze tohle neni poprve co zminujes "navtevovane weby" jako problem tam, kde ten problem proste neexistuje... Tak si nejak nedokazu vysvetlit jak je to mozne... Ona cache databaze, filesystemu nebo vlastne cehokoliv co se umi ukladat do pameti je nasobne rychlejsi a efektivnejsi nez cokoliv co dokazes vymyslet... A zrovna tohle je presne ukazka neceho, co se bude 99% casu drzet ciste v pameti... A kdyz nutne potrebujes neposilat dotazy na DB (treba kvuli oddeleni db a systemu na jiny stroj), tak si to proste muzes drzet v pameti lokalne...
    20. 11. 2017 10:52:32
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312683
    Kovboj
    verified
    rating uzivatele
    (13 hodnocení)
    20. 11. 2017 11:54:43
    Napsal Aleš Jiříček;1425172
    Kovboji ty asi casto zapominas, ze existuje cache co? :) Delal jsi vubec nekdy nejake velke projekty? Ja jen, ze tohle neni poprve co zminujes "navtevovane weby" jako problem tam, kde ten problem proste neexistuje... Tak si nejak nedokazu vysvetlit jak je to mozne... Ona cache databaze, filesystemu nebo vlastne cehokoliv co se umi ukladat do pameti je nasobne rychlejsi a efektivnejsi nez cokoliv co dokazes vymyslet... A zrovna tohle je presne ukazka neceho, co se bude 99% casu drzet ciste v pameti... A kdyz nutne potrebujes neposilat dotazy na DB (treba kvuli oddeleni db a systemu na jiny stroj), tak si to proste muzes drzet v pameti lokalne...
    Nezapomínám že existuje cache, jen jsem z té dnes už nemoderní generace programátorů co v případě pomalého chodu skriptu nekupují výkonnější procesor (ono to v době ZX Spectra moc nešlo :-), ale optimalizují skripty. A include jednoho skriptu s texty je rozhodně rychlejší a méně zatíží procesor, než dotaz do databáze a naplnění pole daty z databáze. A výkon skriptu by měl mít přednost před vlastní leností. Nicméně teď se spíš řeší jak udělat co nejefektnější animaci s textem "čekejte prosím, stránka se načítá" :-(
    Pokud by se texty měnily často, tak by bylo praktičtější použít k tomu databázi. Pokud by šlo o web s tisíci nebo miliony texty, taky by se to řešilo jinak. Nicméně pokud jde o desítky frází které se jednou zapíšou do systému a pak se na ně rok nesáhne, je použití databáze jako jít s kanónem na vrabce.
    20. 11. 2017 11:54:43
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312682
    brooks
    verified
    rating uzivatele
    20. 11. 2017 12:16:57
    Napsal Kovboj;1425192
    Nezapomínám že existuje cache, jen jsem z té dnes už nemoderní generace programátorů co v případě pomalého chodu skriptu nekupují výkonnější procesor (ono to v době ZX Spectra moc nešlo :-), ale optimalizují skripty. A include jednoho skriptu s texty je rozhodně rychlejší a méně zatíží procesor, než dotaz do databáze a naplnění pole daty z databáze. A výkon skriptu by měl mít přednost před vlastní leností. Nicméně teď se spíš řeší jak udělat co nejefektnější animaci s textem "čekejte prosím, stránka se načítá" :-(
    Pokud by se texty měnily často, tak by bylo praktičtější použít k tomu databázi. Pokud by šlo o web s tisíci nebo miliony texty, taky by se to řešilo jinak. Nicméně pokud jde o desítky frází které se jednou zapíšou do systému a pak se na ně rok nesáhne, je použití databáze jako jít s kanónem na vrabce.
    Myslím, že odstraněním tohohle moc výkonu navíc nezískám.
    V mém případě by se možná i vyplatilo koupit lepší procesor, protože kdybych nutil vývojáře a potom překladatele datlovat definice/překlady frází do xy souborů u každýho projektu, tak by mě to vyšlo mnohem, mnohem dráž.
    Šetřit výkon hw je fajn, ale připravit se o pohodlí a spoustu peněz kvůli 0.000x sekundě na jednom pageview, to mi za to fakt nestojí.
    20. 11. 2017 12:16:57
    https://webtrh.cz/diskuse/jake-je-nejlepsi-php-reseni-jazykovych-verzi-stranek/#reply1312681
    Pro odpověď se přihlašte.
    Přihlásit