<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Локализация клиентской части web приложений</title>
	<atom:link href="http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html</link>
	<description>Блог о программировании</description>
	<lastBuildDate>Fri, 10 Sep 2010 00:40:07 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-10480</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Wed, 14 Apr 2010 11:57:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-10480</guid>
		<description>Я думаю, что любое решение приемлемо, если оно нормально работает :)

В вашем случае поиск и замена шаблонов (#some_text_str#) будет потреблять какие-то ресурсы. Но, с другой стороны, изменение языка пользователем после загрузки страницы будет потреблять меньше серверных ресурсов, т.к. подгружается только файл локализаций, а замена выполняется, насколько я понял, в браузере с помощью JS. Насколько часто посетители будут менять язык страницы я не знаю, зависит от сайта.</description>
		<content:encoded><![CDATA[<p>Я думаю, что любое решение приемлемо, если оно нормально работает <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>В вашем случае поиск и замена шаблонов (#some_text_str#) будет потреблять какие-то ресурсы. Но, с другой стороны, изменение языка пользователем после загрузки страницы будет потреблять меньше серверных ресурсов, т.к. подгружается только файл локализаций, а замена выполняется, насколько я понял, в браузере с помощью <acronym title="JavaScript">JS</acronym>. Насколько часто посетители будут менять язык страницы я не знаю, зависит от сайта.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: S7a1k3r</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-10470</link>
		<dc:creator>S7a1k3r</dc:creator>
		<pubDate>Wed, 14 Apr 2010 08:57:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-10470</guid>
		<description>Хотел бы поделиться своим механизмом локализации и спросить Вас о том, насколько приемлемым он является.

Все строки, подлежащие локализации хранятся в базе со следующей схемой:

&lt;code&gt;
{
  идентификатор строки, //что-то вроде some_text_str
  язык перевода, //en, ru, etc
  перевод строки
}
&lt;/code&gt;

В теле страницы прописаны константы вида #some_text_str#, которые заменяются на перевод, взятый из базы (локализация выполняется перед выдачей страницы пользователю).

Далее конструкция немного усложняется:
&lt;code&gt;
&lt;div class=&quot;localization&quot; rel=&#039;locale[some_text_str]&#039;&gt;#some_text_str#&lt;/div&gt;
&lt;/code&gt;
Что происходит в таком случае?
После генерации страницы на стороне сервера происходит замена текстовых строк вида #some_text_str# на некие текст в соответствии с локалью.
Потом на стороне пользователя возможна автоматическая смена языка. Если пользователь выберет другой язык, то
- с сервера будет подгружен файл локализации, содержащий все необходимые для данной страницы
- содержимое div&#039;ов на странице будет заменено на новое, полученное от сервера.</description>
		<content:encoded><![CDATA[<p>Хотел бы поделиться своим механизмом локализации и спросить Вас о том, насколько приемлемым он является.</p>
<p>Все строки, подлежащие локализации хранятся в базе со следующей схемой:</p>
<p><code><br />
{<br />
  идентификатор строки, //что-то вроде some_text_str<br />
  язык перевода, //en, ru, etc<br />
  перевод строки<br />
}<br />
</code></p>
<p>В теле страницы прописаны константы вида #some_text_str#, которые заменяются на перевод, взятый из базы (локализация выполняется перед выдачей страницы пользователю).</p>
<p>Далее конструкция немного усложняется:<br />
<code><br />
&lt;div class="localization" rel='locale[some_text_str]'&gt;#some_text_str#&lt;/div&gt;<br />
</code><br />
Что происходит в таком случае?<br />
После генерации страницы на стороне сервера происходит замена текстовых строк вида #some_text_str# на некие текст в соответствии с локалью.<br />
Потом на стороне пользователя возможна автоматическая смена языка. Если пользователь выберет другой язык, то<br />
- с сервера будет подгружен файл локализации, содержащий все необходимые для данной страницы<br />
- содержимое div&#039;ов на странице будет заменено на новое, полученное от сервера.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-7594</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Sat, 05 Dec 2009 18:56:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-7594</guid>
		<description>То придется переводить их все ;)</description>
		<content:encoded><![CDATA[<p>То придется переводить их все <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: сайт nsk</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-7582</link>
		<dc:creator>сайт nsk</dc:creator>
		<pubDate>Sat, 05 Dec 2009 13:59:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-7582</guid>
		<description>гм, имхо слишком замудрено... а если строк для перевода тысячи...</description>
		<content:encoded><![CDATA[<p>гм, имхо слишком замудрено&#8230; а если строк для перевода тысячи&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-6035</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Mon, 14 Sep 2009 17:52:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-6035</guid>
		<description>Я имел в виду хранение сток перевода.
Насчет функции все понятно, повторюсь, она действительно очень удобная и расширяет возможности.</description>
		<content:encoded><![CDATA[<p>Я имел в виду хранение сток перевода.<br />
Насчет функции все понятно, повторюсь, она действительно очень удобная и расширяет возможности.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Count Raven</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-6030</link>
		<dc:creator>Count Raven</dc:creator>
		<pubDate>Sun, 13 Sep 2009 16:28:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-6030</guid>
		<description>Метод отличается тем, что можно добавить дефолтный текст и отсутствие превода.</description>
		<content:encoded><![CDATA[<p>Метод отличается тем, что можно добавить дефолтный текст и отсутствие превода.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-6019</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Sat, 12 Sep 2009 20:34:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-6019</guid>
		<description>Может я не правильно понял, но по-моему это тот же метод, только с добавлением функции t.
Согласен, что она очень удобная.</description>
		<content:encoded><![CDATA[<p>Может я не правильно понял, но по-моему это тот же метод, только с добавлением функции t.<br />
Согласен, что она очень удобная.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Count Raven</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-6006</link>
		<dc:creator>Count Raven</dc:creator>
		<pubDate>Sat, 12 Sep 2009 09:08:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-6006</guid>
		<description>Хм, не знаю, мне кажется этот метод очень неудобным для больших приложений.

Дамую удобнее было бы так:
function t(&quot;This is a text!&quot;, THIS_IS_A_TEXT);

THIS_IS_A_TEXT - это текстовая константа.

Все такие константы хранятся в файлах lang_ru.js, lang_en.js - с тем же принципом префиксов.

Если константа не объявлена, то выводится текст из первого аргумента функции t, если определена, выводится содержимое константы.

Таким образом переводы могут быть неполными, а только наполовину и если не найдено перевода для языка, то выведется дефолтный текст.

А если генерировать JavaScript на стороне сервера, то вообще можно использовать классический для никса и дефолтный для PHP - gettext.</description>
		<content:encoded><![CDATA[<p>Хм, не знаю, мне кажется этот метод очень неудобным для больших приложений.</p>
<p>Дамую удобнее было бы так:<br />
function t(&#034;This is a text!&#034;, THIS_IS_A_TEXT);</p>
<p>THIS_IS_A_TEXT &#8211; это текстовая константа.</p>
<p>Все такие константы хранятся в файлах lang_ru.js, lang_en.js &#8211; с тем же принципом префиксов.</p>
<p>Если константа не объявлена, то выводится текст из первого аргумента функции t, если определена, выводится содержимое константы.</p>
<p>Таким образом переводы могут быть неполными, а только наполовину и если не найдено перевода для языка, то выведется дефолтный текст.</p>
<p>А если генерировать JavaScript на стороне сервера, то вообще можно использовать классический для никса и дефолтный для <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> &#8211; gettext.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-5900</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Fri, 04 Sep 2009 17:54:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-5900</guid>
		<description>Поправил ;)</description>
		<content:encoded><![CDATA[<p>Поправил <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/lokalizaciya-klientskoj-chasti-web-prilozhenij.html#comment-5899</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Fri, 04 Sep 2009 17:53:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/?p=896#comment-5899</guid>
		<description>Да, конечно. При первой загрузке страницы можно использовать этот заголовок, а потом дать пользователю возможность его изменить. Вряд ли человек выберет в браузере язык которого вообще не понимает.</description>
		<content:encoded><![CDATA[<p>Да, конечно. При первой загрузке страницы можно использовать этот заголовок, а потом дать пользователю возможность его изменить. Вряд ли человек выберет в браузере язык которого вообще не понимает.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
