GettextExtractor – 2 problémy (šablony a apostrof)

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

Úspěšně nám funguje GettextExtractor, avšak narazil jsem na dva problémy a nevím, jak na ně

První se týká šablon, potřebuji, abych nemusel text s odkazy rozkouskovávat takto:

<p>{!_"You can"}<a href="{link Logs:Php:Process:}" title="{!_'browse error logs'}">{!_"browse error logs"}</a>.</p>

ale aby mi fungovalo vkladani odkazu s linky:

<p>{!_"You can <a href="{link Logs:Php:Process:}" title="browse error logs">browse error logs</a>."}</p>

resp. jaky je doporuceny postup, kdyz potrebuju prekladat texty, ve kterych jsou html tagy?

dalsi muj dotaz se tyka nastroje Poedit, ktery selhava pokazde, kdyz je v prekladanem textu apostrof. Tzn. např tohle mi selže: _(„don't fail please“);
Upozornoval na to i iskuda zde https://forum.nette.org/…m-s-poeditem
Nasel na to uz nekdo reseni?

despiq
Člen | 320
+
0
-

specialni znaky bych k prekladu nepouzival, neni to treba

<?php
{capture $linkpref}<a href="{link Logs:Php:Process:}" title="{_'browse error logs'}">{/capture}
{capture $linksuff}</a>{/capture}
{!_"You can %sbrowse error logs%s.",$linkpreff,$linksuff}
?>

tohle by mohlo jit ale je to teda prasecinka

repli2dev
Člen | 57
+
0
-

K druhému problému, ty řetězce musí v POT šabloně být escapovany (Týká se znaku "), což by měl zajistit GettextExtractor. Mělo by to fungovat asi takhle:

_("Don't w\"orry") // by se mělo převést jako "Don't w\"orry"
_('Don\'t w"orry') // na "Don't w\"orry"

Editoval repli2dev (4. 6. 2010 19:52)

despiq
Člen | 320
+
0
-

jak sem jiz psal, uvozovky v prekladanem retezci vubec nepouzivejte, usetrite si tim starosti

dotTwelve
Člen | 167
+
0
-

jak mam vyresit to, kdyz potrebuji mit v prekladovem stringu i html tagy
mam <h1>{_'Text k prekladu a <span>toto bych chtel mit obalono spanem</span>'}</h1>

Filip Procházka
Moderator | 4668
+
0
-

Co třeba takto?

<h1>{_'Text k prekladu a'} <span>{_'toto bych chtel mit obalono spanem'}</span></h1>
dotTwelve
Člen | 167
+
0
-

HosipLan napsal(a):

Co třeba takto?

<h1>{_'Text k prekladu a'} <span>{_'toto bych chtel mit obalono spanem'}</span></h1>

to sice ano, ale vzdycky se neshoduje posloupnost slov napriklad v cz a en vetach ;-)

voda
Člen | 561
+
0
-

Buď je necháš přímo v textu:

<h1>{!_'Text k prekladu a <span>toto bych chtel mit obalono spanem</span>'}</h1>

nebo další řešení (ale taky určitě ne ideální:

<h1>{!_'Text k prekladu a %s toto bych chtel mit obalono spanem%s'|escape|printf:'<span>':'</span>'}</h1>
Nox
Člen | 378
+
0
-

Tohle je asi ne úplně hezky řešitelný problém…nebo aspoň co jsem trochu hledal tak nikde nepsali hezké řešení.

Hosiplanovo určite ne – bude přinejmenším problém s překladem.

Nejčistší je asi ta %s nahrazením

Filip Procházka
Moderator | 4668
+
0
-

Mně se taky líbí %s :)

voda
Člen | 561
+
0
-

HosipLan napsal(a):

Mně se taky líbí %s :)

Mně moc ne, ale nic lepšího mě zatím nenapadlo…