<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IMS Blog - blog o modernom programovaní od Tibor Piňo &#187; L10n</title>
	<atom:link href="http://ims.rockretail.com/tag/l10n/feed/" rel="self" type="application/rss+xml" />
	<link>http://ims.rockretail.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 18 Feb 2010 10:11:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Viacjazyčné validačné error hlášky</title>
		<link>http://ims.rockretail.com/2008/10/19/viacjazycne-validacne-error-hlasky/</link>
		<comments>http://ims.rockretail.com/2008/10/19/viacjazycne-validacne-error-hlasky/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 22:51:08 +0000</pubDate>
		<dc:creator>Tibor Piňo</dc:creator>
				<category><![CDATA[Tipy a triky]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[L10n]]></category>
		<category><![CDATA[validácia]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[CakePHP ponúka v najnovšej verzii možnosť definovať validačné error hlášky priamo do modelu. Problémom však ostáva, ako tieto error hlášky prekladať a definovať ich preklad v jazykových súboroch. My si v článku ukážeme jednoduché riešenie.Najprv si definujme jednoduché validačné pravidlo
var $validate = array(
        'name' =&#62; array('rule'=&#62;array('between',2,200),'message'=&#62;'Between 2 and [...]]]></description>
			<content:encoded><![CDATA[<p>CakePHP ponúka v najnovšej verzii možnosť definovať validačné error hlášky priamo do modelu. Problémom však ostáva, ako tieto error hlášky prekladať a definovať ich preklad v jazykových súboroch. My si v článku ukážeme jednoduché riešenie.<span id="more-50"></span>Najprv si definujme jednoduché validačné pravidlo</p>
<pre><code>var $validate = array(
        'name' =&gt; array('rule'=&gt;array('between',2,200),'message'=&gt;'Between 2 and 200 characters'),
);</code></pre>
<p>Definovali sme, že input nazvaný <em>name</em> bude musieť obsahovať od 2 do 200 znakov, v opačnom prípade sa vypíše chybová hláška <em>Between 2 and 200 characters</em>.</p>
<p>My však tvoríme viacjazyčnú aplikáciu a potrebujeme, aby sa daná hláška zobrazila podľa aktuálne nastaveného jazyka v aplikácii. Riešenie je jednoduché, stačí ak pridáme daný kód do súboru <em>app/app_model.php</em></p>
<pre><code>function invalidate($field, $value = true) {
    return parent::invalidate($field, __($value, true));
}</code></pre>
<p>Potom už môžeme v našom jazykovom súbore <em>default.po</em> (jeho umiestnenie záleží od príslušnosti k určitému jazyku) definovať preklad validačnej error hlášky následovne</p>
<pre><code>msgid "This field cannot be left blank"
msgstr "Toto pole nemôže byť prázdne"</code></pre>
<p>Viac si o viacjazyčnom webe v CakePHP môžete prečítať v jednom z mojich článkov <a href="/2007/09/24/viacjazycny-web-v-cakephp">Viacjazyčný web v cakePHP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ims.rockretail.com/2008/10/19/viacjazycne-validacne-error-hlasky/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Viacjazyčný web v cakePHP</title>
		<link>http://ims.rockretail.com/2007/09/24/viacjazycny-web-v-cakephp/</link>
		<comments>http://ims.rockretail.com/2007/09/24/viacjazycny-web-v-cakephp/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 10:57:24 +0000</pubDate>
		<dc:creator>Tibor Piňo</dc:creator>
				<category><![CDATA[Tipy a triky]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[L10n]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Podpora viacjazyčných webových aplikácií v dnešnom internete je veľmi dôležitá a preto cakePHP nám ponúka efektívne nástroje, ako takéto aplikácie jednoducho a rýchlo vytvárať.
Tento článok slúži ako veľmi jednoduchý príklad, ktorý demonštruje ukážku vytvorenia slovenského a anglického jazyka pre našu aplikáciu.
1. krok: vytvorenie adresárov pre jazykové súbory
Najprv si musíme vytvoriť potrebné adresáre, do ktorých budeme [...]]]></description>
			<content:encoded><![CDATA[<p>Podpora viacjazyčných webových aplikácií v dnešnom internete je veľmi dôležitá a preto cakePHP nám ponúka efektívne nástroje, ako takéto aplikácie jednoducho a rýchlo vytvárať.<span id="more-3"></span></p>
<p>Tento článok slúži ako veľmi jednoduchý príklad, ktorý demonštruje ukážku vytvorenia slovenského a anglického jazyka pre našu aplikáciu.</p>
<h2>1. krok: vytvorenie adresárov pre jazykové súbory</h2>
<p>Najprv si musíme vytvoriť potrebné adresáre, do ktorých budeme ukladať naše jazykové súbory.</p>
<pre><code>mkdir app/locale/slo
mkdir app/locale/slo/LC_MESSAGES

mkdir app/locale/eng
mkdir app/locale/eng/LC_MESSAGES</code></pre>
<p>Kompletný zoznam názvov adresárov pre jednotlivé jazyky môžete nájsť <a href="http://api.cakephp.org/1.2/l10n_8php-source.html#l00180">http://api.cakephp.org/…-source.html#…</a></p>
<pre><code>'sk' =&gt; array(
    'language' =&gt; 'Slovack',
    'locale' =&gt; 'slo',
    'localeFallback' =&gt; 'slo',
    'charset' =&gt; 'utf-8'
),
'en' =&gt; array(
    'language' =&gt; 'English',
    'locale' =&gt; 'eng',
    'localeFallback' =&gt; 'eng',
    'charset' =&gt; 'utf-8'
),</code></pre>
<p>V kóde vyššie môžeme vidieť, že <strong>slo</strong> je správny názov adresára pre slovenský jazyk a <strong>eng</strong> je správny názov adresára pre anglický jazyk.</p>
<h2>2. krok: Vytvorenie view súboru so slovami pre preklad</h2>
<p>Nasledovný kód si môžeme uložiť do ľubovoľného view súboru</p>
<pre><code>&lt;h1&gt;&lt;? __('uvod_hlavicka'; ?&gt;&lt;/h1&gt;

&lt;p&gt;&lt;? __('uvod_text'); ?&gt;&lt;/p&gt;</code></pre>
<h2>3. krok: vytvorenie jazykových súborov</h2>
<p>Consola v CakePHP nám poskytuje veľmi efektívny spôsob, ako vytvárať jazykové súbory. Stačí použiť nasledovný príkaz.</p>
<pre><code>cd cake/console
./console extract</code></pre>
<p>Tento príkaz znamená, že cakePHP rekurzívne prehľadá naše súbory *.ctp a *.php, a vyhľadá v nich funckie __(). Po dokončení tohoto príkazu nám ostane vygenerovaný súbor <strong>app/locale/de­fault.pot</strong></p>
<p>Následne musíme skopírovať daný súbor do jazykových adresárov</p>
<pre><code>cd app/locale
cp default.pot app/locale/eng/LC_MESSAGES/default.po
cp default.pot app/locale/slo/LC_MESSAGES/default.po</code></pre>
<p>Teraz už môžete editovať vaše default.po súbory ako obyčajný text. Po otvorení môžete vidieť niečo takéto</p>
<pre><code>msgid "uvod_hlavicka"
msgstr "toto je hlavicka"

msgid "uvod_text"
msgstr "toto je text"</code></pre>
<h2>4. krok: nastavenie jazyka</h2>
<p>Posledným krokom je nastavenie jazyka pre našu aplikáciu. To docielime zapísaním nasledovného kódu do <strong>app/config/bo­ostrap.php</strong></p>
<pre><code>//pre slovensky jazyk
define('DEFAULT_LANGUAGE','sk');

//pre anglicky jazyk
define('DEFAULT_LANGUAGE','en');</code></pre>
<p>V niektorom z budúcich článkov si ukážeme, ako si bude môcť dynamicky prepínať jazyk sám užívateľ.</p>
<p>Rád uvítam vaše postrehy a názory v diskusii.</p>
]]></content:encoded>
			<wfw:commentRss>http://ims.rockretail.com/2007/09/24/viacjazycny-web-v-cakephp/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
