Překlad webu pomocí LiveTranslator

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

Dobrý den, snažím se o lokalizaci webu z angličtiny do češtiny a němčiny. Zkouším přeložit tu defaultní stránku v sandboxu. Pro překlad používám toto. Měl bych pár otázek:

1. Například je tam následující věta:

<p>See source code of <a href="#template">this page template</a>, <a href="#layout">layout template</a> and
			<a href="#presenter">corresponding presenter</a>. And feel free to modify them!</p>

Nešlo by aby se v debug panelu v překladači zobrazila celá?
nejde totiž kvůli uvozovkám udělat toto (odkaz bude brán jako řetězec):

{_ 'See source code of <a href="#template">this page template</a>' }

Takže to musím rozdělit na

{_ 'See source code of'} <a href="#template">{_ 'this page template'}</a>

Pak se mi v překladači tato věta zobrazí na dvakrát a bude hůře překladatelná.

2. Jak nastavím router? Jaký musím mít na webu odkaz?
Když budu mít <a n:href="jaký sem dám presenter?">CZ</a>
A co musí být v routeru tak abych měl adresu www.neco.cz/cs/presenter/action

3. Jdou takto překládat i formuláře? můžu ten translátor vložit metodou $form->setTranslate?

Děkuji za pomoc

Editoval bluray (8. 10. 2014 11:01)

Filip Procházka
Moderator | 4668
+
0
-

1.

Předklady s HTML tagy jsou dost oser, zrovna u odkazů dvojnásobnej, když chceš mít možnost měnit ten odkaz a chceš to mít XSS-proof.

Pokud to jsou jenom nějaké bold a strong, tak v Kdyby/Translation to píšu takto

<p>{!_front.some.string}</p>

a

front:
	some:
		string: 'See source code of <a href="#template">this page template</a>'

Ale protože tam máš i ty odkazy, tak si myslím, že je lepší, to rozdělit na dva stringy.

2.

V dokumentaci Kdyby/Translation máš základní návod, jak nastavit router, ze kterého si to pak dokáže i sám číst, jaký jazyk návštěvník používá a podle toho volit automaticky jazyk.

V LiveTranslatoru, máš taky dokumentaci, ve které máš ukázané, jak ten parametr tomu translatoru předat.

3.

Translator implementuje Nettí interface ITranslator a tedy by měl fungovat i na překlad formulářů.


A až zjistíš, že překládat web přes debug panel je nehorázná prasárna, tak ti rád poradím jak na web dostat Kdyby/Translation :)

bluray
Člen | 178
+
0
-

Díky za odpověď, takže závěr je použít Kdyby/Translation? Nerozuměl jsem přesně cos myslel v tom bodě 1.
„Předklady s HTML tagy jsou dost oser, zrovna u odkazů dvojnásobnej, když chceš mít možnost měnit ten odkaz a chceš to mít XSS-proof.“

A potom nerozumím tomuhle:

front:
    some:
        string: 'See source code of <a href="#template">this page template</a>'

To budu mít uvedené v config.neon?
ještě jsem na ten Kdyby/Translation nekoukal, tak nevím jak pracuje. Ale hledám řešení které bude efektivní a jednoduché. Tady v dokumentaci o této problematice není zrovna moc informací, které bych potřeboval.
Díky

Filip Procházka
Moderator | 4668
+
+1
-

No tak srovnej tohle

'See source code of <a href="#template">this page template</a>'

a případ kdy chceš odkaz dostat do překladu parametrem

'See source code of <a href="%link">this page template</a>'

Ten druhý případ je problém, protože translator neví a nemá vědět, jak se escapuje HTML, má překládat. Proto si myslím, že je lepší to rozseknout na více stringů.