GettextTranslator a $form->addError(‚…‘) ako vyriešiť preklad?
- SontoEremo
- Člen | 341
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.
- thunderbuff
- Člen | 164
<?php
$form->addError($form->translator->translate('Something really bad happened.'));
?>
- SontoEremo
- Člen | 341
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
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
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
Nechceš to zkusit debugnout? Tohle by se dít nemělo a všem ostatním to funguje.
- thunderbuff
- Člen | 164
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
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é.