GettextTranslator a $form->addError(‚…‘) ako vyriešiť preklad?

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

Zdravím ľudkovia

Rád by som sa Vás spýtal kto používa GettextTranslator ako riešite addError ?
Mám preklady EN SK a CS ale vždy mám chybu len cez EN ako docieliť aby keď je nastavený jazyk na SK alebo CS aby v tom hádzalo error?

Všetko mi preloží iba okrem error-ov

ďakujem vopred.

SontoEremo
Člen | 341
+
0
-

Nikto nierišil podobný problém????

thunderbuff
Člen | 164
+
0
-
<?php

$form->addError($form->translator->translate('Something really bad happened.'));

?>
SontoEremo
Člen | 341
+
0
-

thunderbuff napsal(a):

<?php

$form->addError($form->translator->translate('Something really bad happened.'));

?>

Dík ale nepomohlo stále to mám v SK jazyku

$Lform->addError($Lform->translator->translate('Invalid email address or password.'));

výsledok

Neplatná emailová adresa alebo heslo

pritom mám nastavený jazyk na EN všetko mi preloži iba tie error-i nie

Editoval SontoEremo (21. 5. 2013 12:57)

Filip Procházka
Moderator | 4668
+
-1
-

A nastavil jsi ten překladač správně do formuláře?

$form->setTranslator($translator);

Error hlášky se překládají samy, v momentě kdy se mají vykreslit.

SontoEremo
Člen | 341
+
0
-

Filip Procházka napsal(a):

A nastavil jsi ten překladač správně do formuláře?

$form->setTranslator($translator);

Error hlášky se překládají samy, v momentě kdy se mají vykreslit.

Celý formulár sa mi preloži správne ako vravím okrem errorov
SignPresenter časť z neho konkrétne login formulár

/** var \GettextTranslator\Gettext */
	public $translator;

	public final function injectTranslator(GettextTranslator\Gettext $translator)
	{
	    $this->translator = $translator;
	}

	protected function createComponentSignInForm()
	{
		$Lform = new Form;
		$Lform->setTranslator($this->translator);
		$Lform->addText('email')
			  ->setAttribute('class', 'm-wrap span6')
			  ->setAttribute('placeholder', $this->translator->translate('Email adress'))
			  ->setRequired('Please enter your email adress');
		$Lform->addPassword('password')
			  ->setAttribute('class', 'm-wrap span6')
			  ->setAttribute('placeholder', $this->translator->translate('Password'))
			  ->setRequired('Please enter your password');
		$Lform->addCheckBox('remember');
		$Lform->addSubmit('signIn', 'Log In');
		$Lform->onSuccess[] = callback($this, 'SignInFormSuccessSubmited');
		return $Lform;
	}
	public function SignInFormSuccessSubmited(Form $Lform)
	{
		try {
			$user = $this->getUser();
    		$values = $Lform->getValues();
    		if ($values->remember)
    		{
    			$user->setExpiration('+ 30 days', FALSE);
    		}
    		$user->login($values->email, $values->password);
    		$this->flashMessage('Login successful.', 'success');
    		$this->redirect(':dashboard:Index:');
		} catch(NS\AuthenticationException $e) {
			$Lform->addError($Lform->translator->translate('Invalid email address or password.'));
		}
	}

Editoval SontoEremo (21. 5. 2013 13:08)

Filip Procházka
Moderator | 4668
+
0
-

Nechceš to zkusit debugnout? Tohle by se dít nemělo a všem ostatním to funguje.

thunderbuff
Člen | 164
+
0
-

SontoEremo napsal(a):

Dík ale nepomohlo stále to mám v SK jazyku

$Lform->addError($Lform->translator->translate('Invalid email address or password.'));

výsledok

Neplatná emailová adresa alebo heslo

pritom mám nastavený jazyk na EN všetko mi preloži iba tie error-i nie

…a neměníš nějakým prapodivným způsobem jazyk translatoru za běhu aplikace?

…a nebo – nemáš náhodou tu frázi přeloženou do slovenštiny i v anglickém překladu? Pokud používáš translation panel, mohl ses překouknout a připsat překlad i do anglické verze.

Editoval thunderbuff (21. 5. 2013 13:30)

SontoEremo
Člen | 341
+
0
-

Já som s toho jeleň

v sk.www.po mám

"Invalid email address or password."	"Neplatná emailová adresa alebo heslo"

Ale v cs.www.po a en.www.po už nie nechápem vôbec to nevidím v tých súboroch a dokonca ani panel nesvieti, že by nebolo niečo preložené.