Nette – uložení překladu v databázi

Uvažuji nad kompletním přepisem HamQTH do Nette. Stávající verze webu sice Nette používá, ale rozhodně ne tak, jak  bych si představoval. Web je přeložen do 14 jazyků, texty překládají i uživatelé, kterým bych těžko vysvětloval syntax neon souborů. Musím mít překlady uložené v databázi.

Když bude překlad v databázi, mohu naprogramovat pěkné rozhraní, které překladatelům umožní jednoduše texty upravovat a také na první pohled vidět, co se změnilo. Už nad podobnou funkcionalitou přemýšlím delší dobu. Asi bych neměl dost znalostí napsat si něco takového sám, sledoval jsem tedy, co se děje okolo Kdyby/Translation od Filipa Procházky. Pracovní povinnosti ale převážily a já musel vše na nějakou dobu vypustit z hlavy.

Dneska jsem na tím přemýšlel celé odpoledne a dal dohromady takový jednoduchý skeleton, kde je překlad uložen přímo v databázi. Přistupuje se k němu pomocí Nette database. Můj skeleton je složením kódu z Kdyby/Translation a větve s db driverem. Třeba se větev dostane do oficiálního repa a skeleton už nebudu potřebovat.

Najdete jej na v  repozitáři GitHubu.

Stačí do app/config/config.local.neon doplnit údaje s připojením k databázi, načíst SQL dump z adresáře sql a máte hotovo. Předpokládám, že budu skeleton postupně doplňovat. Snad se bude někomu hodit.

2 komentáře u „Nette – uložení překladu v databázi

  1. Michal Landsman

    Ahoj,
    řešil jsem podobnou věc, pro podstatně menší projekt.
    Chtěl jsem mít možnost jednoduše editovat jazyky.

    Dělám tedy to, že mám jazyky v databázi a při každé editaci se vygenerují .neon soubory, což bylo nejméně invazivní řešení pro můj projekt a zároveň šetří DB dotazy. Neuvažoval jsi o takovém řešení?

    1. Petr Hložek Autor příspěvku

      Zdravím,

      taky jsem nad tímto řešením tehdy přemýšlel, bylo by to asi nejjednodušší. Bohužel už si nepamatuju, proč jsem ho nepoužil.

      Možná by opravdu stačilo z databáze s překlady generovat neon soubor. Až se dostanu k přepisu webu, vyzkouším obojí. Šetřit SQL dotazy asi není třeba, tabulka bude stejně v paměti. Mám jí na serveru dostatek :-).

      Petr

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *