překlady překlady a opět překlady

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

zdravím, vyrobil jsem standardní Translator a překládá šablony, překládá formuláře. Dokud formulář nezkombinuji s kódem Html :(

pokud vyrobím podmínku

$form->addText('phone', 'Číslo:')
    ->setOption('description', Html::el('p')
        ->setHtml('Toto číslo zůstane skryté.')
    );

neumím Nette přemluvit, aby přeložilo text „…Toto číslo zůstane skryté…“

nebo

$label = Html::el()->setHtml('Text určeny pro překlad');
$form->addCheckbox('agree', $label)
	 ->addRule(Form::FILLED, 'frm-agree', true);

zde se mi nedaří aby došlo k překladu „…text určeny pro překlad…“, ale hodnota „…frm-agree…“ je nahrazena zcela správně z překladového souboru

děkují za pomoc

CZechBoY
Člen | 3608
+
+1
-

Nemůžeš prostě text přeložit translatorem?

$form->addText('phone', 'Číslo:')
    ->setOption('description', Html::el('p')
        ->setHtml($form->getTranslator()->translate('Toto číslo zůstane skryté.'))
    );
Aurielle
Člen | 1281
+
0
-

Instance Html třídy se nepřekládají, musíš si v nich zajistit překlad ručně.

vlkodlak
Člen | 175
+
0
-

add AURELIE: chlapu, ale já to potřebují a chci :) viz. rešení od CZechBoY
add CZechBoY: Děkují funguje.

$form->addText('phone', 'Číslo:')
    ->setOption('description', Html::el('p')
        ->setHtml($form->getTranslator()->translate('Toto číslo zůstane skryté.'))
    );

a

$label = Html::el()->setHtml( $form->getTranslator()->translate('Toto číslo zůstane skryté.') );
$form->addCheckbox('agree', $label)
	 ->addRule(Form::FILLED, 'frm-agree', true);

Editoval vlkodlak (29. 3. 2016 15:49)

Rob Bob
Člen | 60
+
+1
-

Zavolání metody translate() je právě to „zajistit předklad ručně“ ;)

Editoval Rob Bob (29. 3. 2016 15:53)

vlkodlak
Člen | 175
+
0
-

add Rob Bob: Děkují za vysvětlení … asi ponětí o automatické a ručním zpracování mám trochu jinak … ale hlavně že to funguje :)

akadlec
Člen | 1326
+
0
-

no ono hlavně je to imho docela prasečina takto vytvářet form. Pokud jsou někde potřeba obalovací elementy tak by se to imho mělo dělat až v šabloně.

vlkodlak
Člen | 175
+
0
-

add akadlec: tak ono ani tolik nejde o html, ale překlad. poliček nápovědy atd. Jak ty přeložit?

neoweb
Člen | 3
+
0
-

V sablóne pri ručnom vykresleni formu

Editoval neoweb (29. 3. 2016 22:34)

CZechBoY
Člen | 3608
+
+1
-

@neoweb a když se form vykresluje automaticky pomocí makra {control}?

neoweb
Člen | 3
+
+1
-

Ak mám form, ktorý ma obsahovať rôzne doplnkové elementy (help a podobne) radšej vykreslujem ručné. V opacnom pripade je sposob ktory si popisal vyssie funkcny. Je na kazdom co mu vyhovuje viac. :) Môj názor.

vlkodlak
Člen | 175
+
0
-

zdravím Panové, ještě jednou, narazil jsem na ještě jedno „místo“ v kódu, které ještě neumím/nevím přeložit a tak prosím o radu. Zkusil jsem vymyslet i ručně i neručně, ale …

Jedna se o „standardní“ třídu UserManage.php ze sandboxu

	/**
	 * Performs an authentication.
	 * @return Nette\Security\Identity
	 * @throws Nette\Security\AuthenticationException
	 */
	public function authenticate(array $credentials)
	{
		list($username, $password) = $credentials;
		$row = $this->database->table(self::TABLE_NAME)->where(self::COLUMN_NAME, $username)->fetch();

		if (!$row)
		{
			throw new Nette\Security\AuthenticationException('The username or password is incorrect.', self::IDENTITY_NOT_FOUND);

		} elseif ($aaa != $password)
		{
			throw new Nette\Security\AuthenticationException('The username or password is incorrect.', self::INVALID_CREDENTIAL);

		}

		$arr = $row->toArray();
		unset($arr[self::COLUMN_PASSWORD_HASH]);
		return new Nette\Security\Identity($row[self::COLUMN_ID], $row[self::COLUMN_ROLE], $arr);
	}

konkretně se mi jedna o tento řádek

throw new Nette\Security\AuthenticationException('The username or password is incorrect.', self::INVALID_CREDENTIAL);

kde nevim si přemluvit nette k přeložení ‚The username or password is incorrect.‘

David Matějka
Moderator | 6445
+
+3
-

Prekladat texty vyjimek (a ukazovat je uzivateli) neni vetsinou dobry napad. Radeji nekde tady zobraz spravnou flash message dle kodu vyjimky (ten druhy parametr – INVALID_CREDENTIAL apod)

vlkodlak
Člen | 175
+
0
-

Děkují