Jak rozjet Kdyby/Translation

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Petr Hanák
Člen | 10
+
0
-

Ahoj,
potřeboval bych pomoc s Kdyby/Translation – postupoval jsem podle návodu, ale jediné co zobrazuje je „homepage.hello“. Abych eliminoval chyby, tak to testuji v čistém nette sandboxu, smazání cache nepomohlo.

David Zadražil
Člen | 62
+
0
-

Ukaž nám kód kde se snažíš dostat k překladu.

akadlec
Člen | 1326
+
0
-

hezky napsaného návodu si se držel? https://github.com/…/en/index.md

Filip Procházka
Moderator | 4668
+
0
-

Cos to tam v to vendoru vymyslel za obskurditu? Proč prostě nepoužiješ composer?

Tirus91
Člen | 199
+
0
-

@Filip Procházka → toto ale composer vytvoří :)

David Matějka
Moderator | 6445
+
0
-

@Tirus91: composer rozhodne neinstaluje zavislosti do vendor/others :)

Filip Procházka
Moderator | 4668
+
0
-

@Tirus91 smaž celej vendor/ a composer.lock a v rootu projektu spusť

composer require kdyby/translation:~1.1
Petr Hanák
Člen | 10
+
0
-

Tak jsem to nakonec vyřešil – chyba byla v přesunutém bootstrap.php – Kdyby pak nenašlo jazyky.
@Filip Procházka: Je snad jedno kam tu třídu (resp. balíček) dám, nebo ne? Nette stejně projde celý vendor a hledá třídy.

Filip Procházka
Moderator | 4668
+
0
-

@Petr Hanák není to jedno, účelem composeru je aby ses o tohle vůbec nemusel starat. Abys vůbec neřešil co ve složce vendor je. A autoloading vendoru taky řeší composer, to nemá dělat Nette.

Tirus91
Člen | 199
+
0
-

jak na komplet nette s kdyby\translation pres composer?

zkoušel jsem toto

cd /tmp
composer create-project nette/nette
composer require kdyby/translation:~1.1

ale to nějak nefunguje jak by mělo :( vytvoří to ty složce nesmyslně :(

castamir
Člen | 629
+
0
-

zkus

composer create-project nette/sandbox
Tirus91
Člen | 199
+
0
-

castamir napsal(a):

zkus

composer create-project nette/sandbox

jj, tak to vytvoří složky vendor a sandbox…

vendor je i v sandbox, pak když dám kdyby, tak to kdyby hodí do vendor, ale v sandbox to už není :-\ tak já teď nevím

mkoubik
Člen | 728
+
0
-
composer create-project nette/sandbox mujprojekt
cd mujprojekt
composer require kdyby/translation:~1.1
Tirus91
Člen | 199
+
0
-

jj, tak už to mám :) ale už jen do toho dostat vše co jsem napsal :) teď mi to hlásí, že nemůže najít HomepagePresenter, ale i přesto, že o něm nemám nikde zmínku :(

Tak snad funkční.. Ještě nějak udělat abych měl někde zdroj těch mutací :(

jak na to vůbec? kde se mi vytvoří PO/MO soubor?

Editoval Tirus91 (24. 3. 2014 20:06)

Filip Procházka
Moderator | 4668
+
0
-

@Tirus91: Přečti si prosím dokumentaci, vše důležité najdeš v ní.


Implementoval jsem přehled načtených resources do translation panelu, mělo by to pomoct s odhalováním chyb proč se něco nepřekládá, což tady čtu celkem často.

Tirus91
Člen | 199
+
0
-

Filip Procházka napsal(a):

Děkuji za rady, už jsem na to i sám přišel :)

ty zdroje si tam zapracoval až teď asi co?

xjurny
Člen | 3
+
0
-

Zdravím,

dá se někde změnit cesta k *.neon souborům s přeloženými texty? Rád bych je měl uložené ve složce app/AdminModule/lang/. Díky za rady.

Filip Procházka
Moderator | 4668
+
0
-

@xjurny

translation:
	dirs:
		- %appDir%/AdminModule/lang
		- %appDir%/FrontModule/lang
		- %appDir%/lang

Případně můžeš použít i compiler provider – ITranslationProvider

xjurny
Člen | 3
+
0
-

Filip Procházka napsal(a):

@xjurny

translation:
	dirs:
		- %appDir%/AdminModule/lang
		- %appDir%/FrontModule/lang
		- %appDir%/lang

Případně můžeš použít i compiler provider – ITranslationProvider

Díky

Tirus91
Člen | 199
+
0
-

Vše mi nyní funguje až na produkci. Jakmile zapnu produkci, tak obdržím internal error a do error logu se zapíše

[2014-03-25 18-41-14] Fatal error: Call to a member function addPanel() on a non-object in /web/sss/www/vendor/kdyby/translation/src/Kdyby/Translation/Diagnostics/Panel.php:117  @  http://sss/  @@  exception-2014-03-24-23-33-38-4afb2011c83f78ed9218af118893e0c5.html

zatím jsem si to vyřešil tímto

...
  public static function register(Translator $translator) {
    $panel = new static($translator);
    /** @var Panel $panel */
    $translator->injectPanel($panel);
    if (Nette\Diagnostics\Debugger::$bar instanceof \Nette\Diagnostics\Bar) {
      Nette\Diagnostics\Debugger::$bar->addPanel($panel, 'kdyby.translation');
    }
    return $panel;
  }

Editoval Tirus91 (25. 3. 2014 19:12)

Filip Procházka
Moderator | 4668
+
0
-

Zkus použít aktualní vývojovou verzi.

Tirus91
Člen | 199
+
0
-

Filip Procházka napsal(a):

Zkus použít aktualní vývojovou verzi.

prepsal jsem si ~1.1 v composer.json na @dev a dal jsem composer update kdyby/translation a snad je to správně

Editoval Tirus91 (25. 3. 2014 23:03)

Filip Procházka
Moderator | 4668
+
0
-

No a teď to nejdůležitější… vyřešil se tvůj problém?

Tirus91
Člen | 199
+
0
-

Filip Procházka napsal(a):

No a teď to nejdůležitější… vyřešil se tvůj problém?

Už ano, sice to házelo jinou chybu, ale ta byla v tempu, stačilo ho jen promazat.

Děkuji..
Jinak, nejde i udělat to, aby se nenačítal neon soubor dokud není vyžádán?

Filip Procházka
Moderator | 4668
+
0
-

@Tirus91 nejde, protože taková věc nedává smysl :) Musíš je načíst abys věděl co v nich je, skládají se z nich ty slovníky.

V produkčním módu se to kompiluje do cache, tedy tímhle bych se vůbec nezabýval, je to celkem efektivní. Ty neony se zkompilují do PHP polí, takže se to naparsuje jenom jednou a pak čte z cache… díky tomu že se to kompiluje do PHP to pak může cachovat opcode cache :)

Tirus91
Člen | 199
+
0
-

@Filip Procházka jak na toto CLI ??

Editoval Tirus91 (26. 3. 2014 19:39)

Filip Procházka
Moderator | 4668
+
0
-

Nechápu, vyjadřuj se prosím.

Tirus91
Člen | 199
+
0
-

@Filip Procházka
promiň, zda jsem dobře pochopil o co v té fičuře jde, tak by to mělo vytáhnout všechny stringy pro translator ne? Tak se ptám, zda je to již hotové a popř. jak to rozjet a jak to vůbec funguje.

Tomáš Votruba
Moderator | 1114
+
0
-

@Tirus91: To není feature, ale issue. Tedy něco, co by bylo fajn implementovat, ale ještě to není.

Více o tom, jak se používají issues na Githubu

Tirus91
Člen | 199
+
0
-

@Tomáš Votruba: to jsem pochopil, že to je issue, ale myslel jsem, že je to již implementováno, proto jsem se ptal :)

Tomáš Votruba
Moderator | 1114
+
0
-

@Tirus91: Kdyby to bylo implementováno, tak by to bylo closed.

Tirus91
Člen | 199
+
0
-

@Tomáš Votruba: Ok a děkuji :)

Editoval Tirus91 (27. 3. 2014 20:12)