Zadejte hledaný výraz...

Nette – komplexný preklad aplikácie

RoyalManG
verified
rating uzivatele
(1 hodnocení)
21. 9. 2014 16:02:14
Dobrý deň,
zaujímalo by ma, ako riešite kompletný preklad aplikácie. V Nette som začiatočník. Vytvoril som si jednoduchú aplikáciu s administráciou. Na tejto aplikácii by som si chcel odkúšať väčšinu vecí, ktoré by som neskôr chcel využiť pri vývoji novej aplikácie. Aplikácia je momentálne len v EN jazyku. Chcem aby bolo možné jazyky pridávať či už prostredníctvom PO / MO súborov alebo databázy. Od prekladu by som potreboval aby vedel prekladať všetky texty na stránke aj v administrácii. Preklad by mal byť aplikovateľný aj pre URL adresy s tým, že je možné si vybrať ľubovoľný jazyk ako defaultný a pri tomto jazyku by sa v URL nezobrazoval kód jazyka, teda niečo takéto:
Tieto preklady URL adries by mali byť editovateľné z administrácie. Pri názvoch strán či článkov je možné pridať URL preklad priamo pri ich vytváraní, ale čo sa týka názvov presenterov v URL, tak to nie je možné aplikovať. Je tu možnosť použiť FILTER_TABLE, ale je to staticky zadefinované v kóde a rád by som tieto preklady presenterov čerpal z databázy, aby boli možné ich meniť priamo z administrácie webu. Preklady slov a fráz na stránke by mali byť prekladateľné prostredníctvom už spomenutých PO/MO súborov. Samozrejme som otvorený aj inému, lepšiemu spôsobu.
Na Nette stránkach som našiel viacero metód na preklady, ale žiadna buď neriešila preklady komplexne pre celú aplikáciu alebo témy boli zastaralé aj niekoľko rokov a teda na staršie verzie Nette. Bol by som rád, ak by sa našiel niekto, kto by mi "problematiku" komplexných prekladov aplikácii v Nette vedel vysvetliť.
21. 9. 2014 16:02:14
https://webtrh.cz/diskuse/nette-komplexny-preklad-aplikacie#reply1056071
Marek
verified
rating uzivatele
(2 hodnocení)
21. 9. 2014 20:01:00
Pro překlady statických prvků použij Kdyby/Translation. Dokumentace zde. Dynamické prvky vyřeš na úrovni databáze (třeba do tabulky articles přidáš lang_id) a podle toho to budeš filtrovat.
Co se týče url adres. Máš to opět popsaný v dokumentaci kdyby/translation. Pokud chceš překládat i názvy presenterů / akcí, stačí si do routerFactory injectnout translator a použít ho. Buď, a nebo si tam dej nějakej repository kterej se o ty překlady bude starat.
21. 9. 2014 20:01:00
https://webtrh.cz/diskuse/nette-komplexny-preklad-aplikacie#reply1056070
RoyalManG
verified
rating uzivatele
(1 hodnocení)
21. 9. 2014 23:30:11
Vďaka za odpoveď. Skúšal som nainštalovať Composer podľa návodu, prostredníctvom ktorého sa majú tieto knižnice inštalovať ale neviem tento Composer správne používať. Ak som správne pochopil, po inštalácii Composeru sa má spustiť klasicky príkazový riadok (cmd) a do neho napísať dané príkazy. Keď som skúšal inštalovať samotné Nette, tak mi ho nainštalovalo do priečinka Windows/SysWOW64/Nette čo samozrejme nie je správna adresa pre localhost - Vertrigo. Neviem akým spôsobom správne inštalovať Nette a jeho komponenty cez príkazový riadok.
Mal by som teda pár prosieb ohľadom spomínaných problémov:
- Vedel by si mi prosím ťa uviesť presný návod ako používať Composer?
- Respektíve iný spôsobo ako nainštalovať a spojazniť knižnicu Kdyby/Translation?
- Vedel by si mi poslať ukážkový kód, ako injectnúť a používať Kdyby/Translation pre preklad URL adries - Routing?
- Vedel by si uviesť aj nejaký príklad repository, ktorý by sa staral o preklad URL?
V týchto veciach nie som stále doma a s Nette sa viac menej ešte stále zoznamujem. Bol by som ti vďačný za rady, typy a nasmerovanie v tomto frameworku.
21. 9. 2014 23:30:11
https://webtrh.cz/diskuse/nette-komplexny-preklad-aplikacie#reply1056069
Marek
verified
rating uzivatele
(2 hodnocení)
22. 9. 2014 20:57:19
Ufff :-)
Composer:
Otevřeš terminál / cmd, a přesuneš se do složky kde máš projekt (tam, kde jsou složky app, vendor, www...) třeba "cd /home/BumbleBeee/Projects/MujProjekt". Tam spustíš composer update pro aktualizaci Nette a všech doplňků. Potom napíšeš composer require kdyby/translation:@dev - dev pokud máš aktuální Nette, viz dokumentace kdyby/translation.
Jiný způsob je stáhnout knihovnu z Githubu a nacpat do vendor/others, popřípadě třeba do složky app/libs ale preferovaný způsob je composer.
Kdyby/Translation:
V projektu už máš zdrojáky, teď to podle dokumentace nakonfiguruješ!
Routing:
Máš třídu RouterFactory, akorát jí upravíš cca nějak takhle:
Pokud chceš překlady z databáze, do konstruktoru si dáš nějaký Repository který se o to bude starat.
22. 9. 2014 20:57:19
https://webtrh.cz/diskuse/nette-komplexny-preklad-aplikacie#reply1056068
Andrej Pinčík
verified
rating uzivatele
22. 9. 2014 23:18:16
Ešte si pozri packagist a podľa Nette verzie si nainštaluj aj odpovedajúci extension KdybyTranslate, jak to napsal BumbleBee a tiež kompletný návod má KdybyTranslate na GitHube aj template makro :)
22. 9. 2014 23:18:16
https://webtrh.cz/diskuse/nette-komplexny-preklad-aplikacie#reply1056067
Pro odpověď se přihlašte.
Přihlásit