<?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>hweia.ru &#187; справка</title>
	<atom:link href="http://hweia.ru/tag/spravka/feed/" rel="self" type="application/rss+xml" />
	<link>http://hweia.ru</link>
	<description></description>
	<lastBuildDate>Tue, 24 Nov 2009 08:08:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Модификации для The Sims 2 &#8212; Часть 0 &#8212; Что это такое?</title>
		<link>http://hweia.ru/2008/12/the-sims-2-hacks-pt0-whats-this/</link>
		<comments>http://hweia.ru/2008/12/the-sims-2-hacks-pt0-whats-this/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 19:47:15 +0000</pubDate>
		<dc:creator>Анна</dc:creator>
				<category><![CDATA[The Sims 2]]></category>
		<category><![CDATA[модификации для The Sims 2]]></category>
		<category><![CDATA[справка]]></category>

		<guid isPermaLink="false">http://hweia.ru/?p=430</guid>
		<description><![CDATA[Модификация &#8212; это PACKAGE-файл, который переопределяет параметры игры или изменяет элементы игровой механики.
Установка
Как правило, модификация помещается в папку  Мои документы\EA GAMES\The Sims 2\Downloadsили в подпапку внутри нее (так удобнее сортировать файлы). Если вы раньше не пользовались модификациями и не устанавливали дополнительные предметы, то этой папки у вас нет и ее нужно создать.
В некоторых случаях [...]]]></description>
			<content:encoded><![CDATA[<p>Модификация &mdash; это PACKAGE-файл, который переопределяет параметры игры или изменяет элементы игровой механики.</p>
<h3>Установка</h3>
<p>Как правило, модификация помещается в папку  <code>Мои документы\EA GAMES\The Sims 2\Downloads</code>или в подпапку внутри нее (так удобнее сортировать файлы). Если вы раньше не пользовались модификациями и не устанавливали дополнительные предметы, то этой папки у вас нет и ее нужно создать.</p>
<p>В некоторых случаях модификации устанавливаются и в другие папки (или подпапки внутри них):</p>
<ul>
<li>в  <code>TSData\Res\Catalog\Bins</code>от последнего установленного дополнения (например,  <code>D:\Games\The Sims 2 Free Time\TSData\Res\Catalog\Bins</code>для дополнения &laquo;Увлечения&raquo;) обычно размещаются файлы, изменяющие свойства стандартных предметов или те дополнительные предметы, на которых нежелательна метка-звездочка. Происходит это потому, что любая модификация ресурсов типа OBJID (цена предмета, его расположение в каталоге и т.п.) заставляет игру воспринимать даже стандартный предмет как &laquo;дополнительный&raquo;</li>
<li>в  <code>TSData\Res\Catalog\Skins</code>от последнего установленного дополнения размещаются файлы, изменяющие расположение одежды в каталоге (что считать купальником, что &mdash; повседневной одеждой и т.п.)</li>
<li>некоторые модификации размещаются в папке  <code>TSData\Res\Overrides</code>от последнего установленного дополнения, где содержатся официальные &laquo;заплатки&raquo; к предметам из предыдущих дополнений (например, в состав каталога &laquo;Все для праздника&raquo; входит файл, добавляющий к меню телефона пункт &laquo;Устроить новогоднюю вечеринку&raquo;). Иногда бывает необходимо создать &laquo;заплатку заплатки&raquo;</li>
</ul>
<p>В этих случаях название файла модификации обычно начинается с  <code>z</code>(<code>zHweia_BuyModeCatalog_ReSorted.package</code>) &mdash; это необходимо для того, чтобы файл был обработан игрой после стандартных пакетов, содержащих предметы или одежду.</p>
<p>Впрочем, обычно в инструкции к модификации подробно написано как и куда ее устанавливать.</p>
<h3>Конфликты</h3>
<p>Конфликты и проблемы в игре могут возникать по двум причинам &mdash; несовместимость модификации с каким-либо, обычно, самым свежим дополнением или несовместимость модификаций между собой.</p>
<p>В первом случае следует удалить модификацию и дождаться ее обновленной версии или подтверждения того, что и в новом дополнении она будет работать корректно.</p>
<p>Что касается второго случая, то, если возможная несовместимость с другими модификациями не указана в инструкции, следует воспользоваться программой HDCU (Hack Conflict Detection Utility), которая и определит что с чем вместе работать не будет.</p>
<p>Программу можно скачать с сайта <a class="external-link" href="http://simwardrobe.com/">SimWardrobe</a> в разделе Sims 2 -&gt; Programs (<a class="external-link" href="http://208.109.175.73/zips/programs/Sims2HCDU-02.00.03.zip">прямая ссылка</a>).</p>
<p>Пользоваться ей очень просто &mdash; при нажатии на единственную кнопку &laquo;Scan&raquo; происходит проверка содержимого папки  <code>Downloads</code>на совместимость между собой и в единственном текстовом поле выводится результат проверки:</p>
<div style="text-align: center;"><img class="illustration aligncenter" title="HDCU: Hack Conflict Detection Utility" src="http://hweia.ru/wp-content/uploads/2008/12/hdcu.png" alt="HDCU: Hack Conflict Detection Utility" width="677" height="475" /></div>
<p>На большую часть служебной информации после строки  <code>*** POSSIBLE CONFLICT DETECTED ***</code>можно не обращать внимания, главное &mdash; это две последние строки с названиями несовместимых между собой файлов.</p>
<p>Если обнаружен конфликт модификаций, самое простое что можно сделать &mdash; это удалить ту из них, которая меньше всего нужна.</p>
<p>При этом следует иметь в виду, что в некоторых случаях конфликт не критичен, и все вполне может правильно работать, если одна из модификаций будет загружена и обработана игрой после другой (то есть, еще раз переопределит часть параметров, которую уже изменил предыдущий файл). Файлы загружаются в алфавитном порядке, так что и здесь может выручить буква  <code>z</code>в начале названия файла.</p>
<p>Также вполне возможно и ложное срабатывание &mdash; но, как правило, все подобные случаи частичной совместимости и ложной тревоги специально отмечены в инструкции по использованию модификации.</p>
]]></content:encoded>
			<wfw:commentRss>http://hweia.ru/2008/12/the-sims-2-hacks-pt0-whats-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как добавить поддержку локализации в модуль или тему для WordPress</title>
		<link>http://hweia.ru/2008/11/localizing-wordpress-plugins-and-themes/</link>
		<comments>http://hweia.ru/2008/11/localizing-wordpress-plugins-and-themes/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 20:25:06 +0000</pubDate>
		<dc:creator>Анна</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[справка]]></category>

		<guid isPermaLink="false">http://hweia.ru/?p=382</guid>
		<description><![CDATA[Для этого вам понадобятся:

Некоторый опыт в программировании или общее представления о синтаксисе PHP  
Текстовый редактор, которым вы обычно пользуетесь для редактирования php-файлов (я для правок по мелочам предпочитаю Edit+)
Poedit


Первый этап: разметка текстовых строк
Вариант 1: с помощью функции _e()
Эта функция echo-ит строку и обычно используется для перевода фрагментов интерфейса модуля или элементов темы:
_e('string'[, 'textdomain'])
Здесь и [...]]]></description>
			<content:encoded><![CDATA[<p>Для этого вам понадобятся:</p>
<ul>
<li>Некоторый опыт в программировании или общее представления о синтаксисе PHP <img src='http://hweia.ru/wp-includes/images/smilies/smilie_wink.png' alt=';)' class='wp-smiley' /> </li>
<li>Текстовый редактор, которым вы обычно пользуетесь для редактирования php-файлов (я для правок по мелочам предпочитаю <a class="external-link" href="http://www.editplus.com/">Edit+</a>)</li>
<li><a class="external-link" href="http://www.poedit.net/index.php">Poedit</a></li>
</ul>
<p><span id="more-382"></span></p>
<h3>Первый этап: разметка текстовых строк</h3>
<h4>Вариант 1: с помощью функции _e()</h4>
<p>Эта функция <code>echo</code>-ит строку и обычно используется для перевода фрагментов интерфейса модуля или элементов темы:</p>
<p align="center"><strong><code>_e('string'[, 'textdomain'])</code></strong></p>
<p><strong>Здесь и далее:</strong><br />
 <code>string</code>&mdash; подлежащая переводу строка<br />
 <code>textdomain</code>&mdash; пространство перевода &mdash; указание на то, где искать перевод для строки: в файле перевода модуля/темы или, если этот параметр пропущен, в файле с переводом ядра WordPress.</p>
<p>До:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;h2&gt;Broken Link Checker Options&lt;/h2&gt;</pre></div></div>

<p>После:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;h2&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Broken Link Checker Options'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'broken-link-checker'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;</pre></div></div>

<h4>Вариант 2: с помощью функции __()</h4>
<p>Эта функция просто возвращает строку и используется в тех случаях, когда надо перевести часть составной строки, сообщение об ошибке и тому подобное:</p>
<p align="center"><strong><code>__('string'[, 'textdomain'])</code></strong></p>
<p>До:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_options_page<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Link Checker Settings'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Link Checker'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'manage_options'</span><span style="color: #339933;">,</span>
            <span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #339933;">,</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'options_page'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>После:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_options_page<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Link Checker Settings'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'broken-link-checker'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Link Checker'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'broken-link-checker'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'manage_options'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #339933;">,</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'options_page'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h4>Вариант 3: с помощью функции _c()</h4>
<p>Эта функция необходима в тех случаях, когда у одной и той же строки может быть несколько значений:</p>
<p align="center"><strong><code>_c('string|case'[, 'textdomain'])</code></strong></p>
<p> <code>case</code>&mdash; &laquo;расшифровка&raquo;,  один из вариантов использования</p>
<p>До:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">/* If this is a monthly archive */</span> <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span>is_month<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
        &lt;h2 class=&quot;pagetitle&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Archive for %s'</span><span style="color: #339933;">,</span> get_the_time<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'F, Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">/* If this is a yearly archive */</span> <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span>is_year<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
        &lt;h2 class=&quot;pagetitle&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Archive for %s'</span><span style="color: #339933;">,</span> get_the_time<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;</pre></div></div>

<p>После:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">/* If this is a monthly archive */</span> <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span>is_month<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
        &lt;h2 class=&quot;pagetitle&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span>_c<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Archive for %s|Monthly archive page'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'kubrick'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
                get_the_time<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'F, Y'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'kubrick'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">/* If this is a yearly archive */</span> <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span>is_year<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
        &lt;h2 class=&quot;pagetitle&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span>_c<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Archive for %s|Yearly archive page'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'kubrick'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
                get_the_time<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'kubrick'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;</pre></div></div>

<h4>Вариант 4: с помощью функции __n() (ранее называлась _ngettext())</h4>
<p>Эта функция используется в тех случаях, когда может меняться число упоминаемых объектов (&laquo;1 комментарий&raquo;, &laquo;2 комментария&raquo;, &laquo;5 комментариев&raquo;). Она возвращает строку:</p>
<p align="center"><strong><code>__n('single', 'plural', value[, 'textdomain'])</code></strong></p>
<p> <code>single</code>&mdash; подлежащая переводу строка в единственном числе<br />
 <code>plural</code>&mdash; подлежащая переводу строка во множественном числе<br />
 <code>value</code>&mdash; подстановочное значение<br />
 <code>textdomain</code>&mdash; пространство перевода &mdash; указание на то, где искать перевод для строки: в файле перевода модуля/темы или, если этот параметр пропущен, в файле с переводом ядра WordPress.</p>
<p>До:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'%s hit(s)'</span><span style="color: #339933;">,</span> number_format_i18n<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">file_hits</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>После:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span>__n<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'%s hit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'%s hits'</span><span style="color: #339933;">,</span> number_format_i18n<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">file_hits</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'wp-downloadmanager'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
        number_format_i18n<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">file_hits</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h3>Второй этап: добавление функций, загружающих перевод</h3>
<p><strong>1. В модуль</strong><br />
Для загрузки перевода модуля необходимо вызвать функцию <code>load_plugin_textdomain()</code>. У нее три аргумента:</p>
<p align="center"><strong><code>load_plugin_textdomain('textdomain, 'abspath', 'plugindir-path')</code></strong></p>
<p> <code>textdomain</code>&mdash; пространство перевода &mdash; часть названия <code>.mo</code>-файла с переводом (например,  <code>broken-link-checker</code>из <code>broken-link-checker-ru-RU.mo</code>)<br />
 <code>abspath</code>&mdash; путь к файлу с переводом относительно <code>ABSPATH</code><br />
 <code>plugindir-path</code>&mdash; путь к файлу с переводом относительно директории с модулями</p>
<p>Обычно это выглядит примерно так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">### Create text domain for translations
</span>add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'blc_textdomain'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> blc_textdomain<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	load_plugin_textdomain<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'broken-link-checker'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'broken-link-checker'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>2. В тему</strong><br />
Для загрузки перевода темы в файл  <code>functions.php</code>необходимо добавить функцию <code>load_theme_textdomain('textdomain')</code>, где  <code>textdomain</code>&mdash; название вашего <code>.mo</code>-файла с переводом.</p>
<p>Обычно это выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">load_theme_textdomain<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kubrick'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Третий этап: создание файла с переводом и перевод текста с помощью Poedit</h3>
<p>Откройте Poedit и создайте новый каталог с помощью команды <code>File -&gt; New Catalog</code>.</p>
<p>Заполните необходимые поля: укажите название и версию проекта, сведения о переводчике, язык, кодировку текста, и, если необходимо, формулу обработки множественных чисел &mdash; именно с помощью этой формулы слово &laquo;комментарий&raquo;, например, будет принимать правильные формы.</p>
<p><img src="http://hweia.ru/wp-content/uploads/2008/11/poedit-info.png" alt="Poedit: информация о проекте" title="Poedit: информация о проекте" width="382" height="333" class="illustration" align="center"/></p>
<p>Для русского языка plural formula такова:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">nplurals<span style="color: #339933;">=</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">;</span> plural<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>n<span style="color: #339933;">%</span><span style="color:#800080;">10</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">&amp;&amp;</span> n<span style="color: #339933;">%</span><span style="color:#800080;">100</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">11</span><span style="color: #009900;">&#41;</span> ? <span style="color: #cc66cc;">0</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>n<span style="color: #339933;">%</span><span style="color:#800080;">10</span><span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;&amp;</span> n<span style="color: #339933;">%</span><span style="color:#800080;">10</span><span style="color: #339933;">&lt;=</span><span style="color: #cc66cc;">4</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>n<span style="color: #339933;">%</span><span style="color:#800080;">100</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">10</span> <span style="color: #339933;">||</span> n<span style="color: #339933;">%</span><span style="color:#800080;">100</span><span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #cc66cc;">1</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Укажите путь к файлам с кодом модуля или темы:</p>
<p><img src="http://hweia.ru/wp-content/uploads/2008/11/poedit-paths.png" alt="Poedit: путь к файлам модуля или темы" title="Poedit: путь к файлам модуля или темы" width="381" height="333" class="illustration" align="center"/></p>
<p>Укажите &laquo;ключевые слова&raquo; &mdash; то есть те функции, которые использованы для пометки строк:</p>
<p><img src="http://hweia.ru/wp-content/uploads/2008/11/poedit-keywords.png" alt="Poedit: ключевые слова" title="Poedit: ключевые слова" width="382" height="334" class="illustration" align="center"/></p>
<p>Сохраните изменения, сохраните файл.<br />
Имейте в виду, что название файла с переводом модуля должно формироваться по следующему принципу:</p>
<p align="center"><strong><code>texdomain-languagecode</code></strong></p>
<p>Где  <code>textdomain</code>&mdash; пространство перевода (как правило, совпадает с названием темы или модуля или является сокращением от него), а  <code>languagecode</code>&mdash; код языка.<br />
Например: <code>wp-downloadmanager-ru_RU</code>.</p>
<p>Название файла с переводом темы состоит только из кода языка. Название пространства перевода используется только при пометке строк.</p>
<p>Переведите модуль или тему. Все готово!</p>
]]></content:encoded>
			<wfw:commentRss>http://hweia.ru/2008/11/localizing-wordpress-plugins-and-themes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Miranda IM &#8212; несколько учетных записей для одного протокола</title>
		<link>http://hweia.ru/2008/07/miranda-im-multiple-accounts-per-protocol/</link>
		<comments>http://hweia.ru/2008/07/miranda-im-multiple-accounts-per-protocol/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 15:14:57 +0000</pubDate>
		<dc:creator>Анна</dc:creator>
				<category><![CDATA[Нет рубрики]]></category>
		<category><![CDATA[Miranda IM]]></category>
		<category><![CDATA[справка]]></category>

		<guid isPermaLink="false">http://hweia.ru/?p=45</guid>
		<description><![CDATA[Понадобилось мне сегодня настроить в Miranda IM Google Talk и LJ Talk. Причем, их нужно было не просто включить (например, для Google Talk это  подробно описано), а сделать так, чтобы все работало одновременно. Сохранив вдобавок и обычный Jabber.
Решений оказалось два:

Miranda IM 0.8 alpha умеет поддерживать такие вещи. Но &#8212; это альфа, не всякому подойдет.
Для версий 0.7.x [...]]]></description>
			<content:encoded><![CDATA[<p>Понадобилось мне сегодня настроить в Miranda IM Google Talk и LJ Talk. Причем, их нужно было не просто включить (например, для Google Talk это  <a title="Google Talk in Miranda IM" href="http://www.google.com/support/talk/bin/answer.py?hl=en&amp;answer=24885" class="external-link">подробно описано</a>), а сделать так, чтобы все работало одновременно. Сохранив вдобавок и обычный Jabber.</p>
<p>Решений оказалось два:</p>
<ul>
<li>Miranda IM <a title="Miranda IM Development" href="http://www.miranda-im.org/development/" class="external-link">0.8 alpha</a> умеет поддерживать такие вещи. Но &mdash; это альфа, не всякому подойдет.</li>
<li>Для версий 0.7.x достаточно сделать копию dll jabber-модуля и назвать её, к примеру, <code>googletalk</code>. Получится два "разных" протокола с разными настройками.</li>
</ul>
<p>И в качестве последнего штриха &mdash; соответствующие иконки:</p>
<table style="border:none;" cellspacing="0" cellpadding="10">
<tbody>
<tr valign="bottom">
<td style="text-align:center;border:none;background:transparent"><a href="http://addons.miranda-im.org/details.php?action=viewfile&amp;id=2928"><img class="illustration" title="LJ Talk icons for Miranda IM" src="http://addons.miranda-im.org/files/screenshot/81-1-1152468947-ljabber.gif" alt="LJ Talk icons for Miranda IM" width="88" height="191" /></a><br />
<span style="font-size: x-small;"><a title="Иконки LJ Talk для Miranda IM" href="http://addons.miranda-im.org/details.php?action=viewfile&amp;id=2928" class="external-link">LJ Talk</a></span></td>
<td style="text-align:center;border:none;background:transparent"><a href="http://addons.miranda-im.org/details.php?action=viewfile&amp;id=2336"><img class="illustration" title="Google Talk icons for Miranda IM" src="http://addons.miranda-im.org/files/screenshot/81-1-1126123672-scrsht.jpg" alt="Google Talk icons for Miranda IM" width="119" height="177" /></a><br />
<span style="font-size: x-small;"><a title="Иконки Google Talk для Miranda IM" href="http://addons.miranda-im.org/details.php?action=viewfile&amp;id=2336" class="external-link">Google Talk</a></span></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://hweia.ru/2008/07/miranda-im-multiple-accounts-per-protocol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinyMCE Advanced и кнопки из других модулей</title>
		<link>http://hweia.ru/2008/06/tadv-extra-buttons-setup/</link>
		<comments>http://hweia.ru/2008/06/tadv-extra-buttons-setup/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 08:37:16 +0000</pubDate>
		<dc:creator>Анна</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wordpress mu]]></category>
		<category><![CDATA[справка]]></category>

		<guid isPermaLink="false">http://hweia.ru/?p=36</guid>
		<description><![CDATA[В WP Download Manager и WP PostRatings есть кнопки для визуального редактора, с помощью которых можно вставить в запись опрос или файл.
А еще есть TinyMCE Advanced, который, помимо всего прочего, позволяет настроить расположение кнопок на панелях инструментов.
Но, поскольку любые подобные дополнительные элементы  для визуального редактора  в состав TinyMCE Advanced не входят    , менять их положение мы, конечно же, не можем.
Впрочем, [...]]]></description>
			<content:encoded><![CDATA[<p>В <a title="WP Download Manager" href="http://wordpress.org/extend/plugins/wp-downloadmanager/" class="external-link">WP Download Manager</a> и <a title="WP Post Ratings" href="http://wordpress.org/extend/plugins/wp-postratings/" class="external-link">WP PostRatings</a> есть кнопки для визуального редактора, с помощью которых можно вставить в запись опрос или файл.</p>
<p>А еще есть <a title="TinyMCE Advanced" href="http://wordpress.org/extend/plugins/tinymce-advanced/installation/" class="external-link">TinyMCE Advanced</a>, который, помимо всего прочего, позволяет настроить расположение кнопок на панелях инструментов.</p>
<p>Но, поскольку любые подобные дополнительные элементы  для визуального редактора  в состав TinyMCE Advanced не входят  <img src='http://hweia.ru/wp-includes/images/smilies/smilie_wink.png' alt=';)' class='wp-smiley' />  , менять их положение мы, конечно же, не можем.<br />
Впрочем, все это легко поправить:</p>
<p>В файле  <code>tadv_admin.php</code>есть массив <code>buttons</code>, в котором и перечислены все те кнопки, которыми можно управлять. Просто добавим то, что нам нужно, например:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #0000ff;">'Insert File Download'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'downloadmanager'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Insert Poll'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'polls'</span></pre></div></div>

<p>Названия элементов можно узнать в тех файлах, которые и создают дополнение для визуального редактора. Например, для WP Download Manager это <code>tinymce/plugins/downloadmanager/editor_plugin.js</code>, из которого мы и узнаем, что название кнопки &mdash; <code>'downloadmanager'</code>, а ее заголовок указан в файле  <code>tinymce/plugins/downloadmanager/langs/en.js</code>&mdash; <code>'Insert File Download'</code>.</p>
<p>Теперь все эти кнопочки станут управляемыми, но...</p>
<p><span style="color: #800000;"><strong>ВНИМАНИЕ</strong></span>: в самом визуальном редакторе кнопки будут выглядеть нормально, а вот в панели управления TinyMCE Advanced не сможет найти соответствующие им изображения! Картинки он ищет только в собственной директории <code>images</code>!</p>
<p>Чтобы не слишком сильно изменять и код модулей и код TinyMCE Advanced самое простое решение - это создать парочку симлинков. Причем, название файла в директории  <code>images</code>должно <strong>совпадать с названием элемента</strong>: то есть симлинк  <code>downloadmanager.gif</code>будет указывать на файл  <code>download.gif</code>в директории <code>wp-downloadmanager/tinymce/plugins/downloadmanager/img/</code>!</p>
<p><span style="color: #800000;"><strong>Хозяйке на заметку</strong></span>: в файле  <code>tadv_defaults.php</code>можно настроить то, какие именно кнопки будут показаны и как именно рассортированы сразу после включения модуля. Его может быть полезно отредактировать, если необходимо настроить панели инструментов  сразу для нескольких журналов Wordress MU, но совершенно не хочется делать это вручную.</p>
]]></content:encoded>
			<wfw:commentRss>http://hweia.ru/2008/06/tadv-extra-buttons-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Аудиокниги, которые iTunes поймет</title>
		<link>http://hweia.ru/2008/06/itunes-audiobooks/</link>
		<comments>http://hweia.ru/2008/06/itunes-audiobooks/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 13:15:30 +0000</pubDate>
		<dc:creator>Анна</dc:creator>
				<category><![CDATA[Нет рубрики]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[справка]]></category>

		<guid isPermaLink="false">http://hweia.ru/blog/?p=13</guid>
		<description><![CDATA[Mp3-файлы, даже если в них на самом деле аудиокнига, для iTunes &#8212; просто музыка! А для создания корректно распознаваемого файла с закладками и прочими функциями, нужно сделать вот что:

Если аудиокнига разделена на много-много кусочков, придётся собрать их в один файл. Я это делаю с помощью cygwin и команды cat * &#62; total.mp3.
Также для этого подойдёт какой-нибудь аудиоредактор. В принципе, я даже где-то [...]]]></description>
			<content:encoded><![CDATA[<p>Mp3-файлы, даже если в них на самом деле аудиокнига, для iTunes &mdash; просто музыка! А для создания корректно распознаваемого файла с закладками и прочими функциями, нужно сделать вот что:</p>
<ol>
<li>Если аудиокнига разделена на много-много кусочков, придётся собрать их в один файл. Я это делаю с помощью cygwin и команды <code>cat * &gt; total.mp3</code>.<br />
Также для этого подойдёт какой-нибудь аудиоредактор. В принципе, я даже где-то слышала о совсем user-friendly программах именно для подобного рода задач. Google в помощь <img src='http://hweia.ru/wp-includes/images/smilies/smilie_smile.png' alt=':)' class='wp-smiley' /> </li>
<li>Воспользоваться возможностями iTunes для конвертирования  <code>mp3</code>в <code>m4a</code></li>
<li>И, наконец, просто переименовать   <code>m4a</code>в <code>m4b</code>!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://hweia.ru/2008/06/itunes-audiobooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Замена стандартных смайликов</title>
		<link>http://hweia.ru/2008/06/replace-defaut-smilies/</link>
		<comments>http://hweia.ru/2008/06/replace-defaut-smilies/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 16:21:43 +0000</pubDate>
		<dc:creator>Анна</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[справка]]></category>

		<guid isPermaLink="false">http://hweia.ru/blog/?p=6</guid>
		<description><![CDATA[Как заменить стандартные смайлики Wordpress на что-то, что более вам по вкусу?

Во-первых, находим подходящую замену. Мне, например, понравился набор Julianus из smilies-themer (впрочем, где-то я их еще раньше видела...)
Далее, заходим в  \wp-includes\images\smiliesи заменяем содержимое этой директории на наши картинки.
И, наконец, открываем файл \wp-includes\functions.php, находим там функцию  smilies_init()и вносим в массив новые имена файлов. Заодно можно настроить соответствие смайлик-картинка.
Бонус: настройка TinyMCE [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hweia.ru/wp-content/uploads/2008/06/smilies-julianus.jpg"></a>Как заменить стандартные смайлики Wordpress на что-то, что более вам по вкусу?</p>
<p style="text-align: center;"><img class="illustration" title="Новые смайлики для Wordpress" src="http://hweia.ru/wp-content/uploads/2008/06/smilies-julianus.jpg" alt="Новые смайлики для Wordpress" width="308" height="238" /></p>
<p>Во-первых, находим подходящую замену. Мне, например, понравился набор Julianus из <a title="Smilies Themer" href="http://wordpress.org/extend/plugins/smilies-themer/" class="external-link">smilies-themer</a> (впрочем, где-то я их еще раньше видела...)</p>
<p>Далее, заходим в  <code>\wp-includes\images\smilies</code>и заменяем содержимое этой директории на наши картинки.</p>
<p>И, наконец, открываем файл <code>\wp-includes\functions.php</code>, находим там функцию  <code>smilies_init()</code>и вносим в массив новые имена файлов. Заодно можно настроить соответствие смайлик-картинка.</p>
<p><strong>Бонус:</strong> настройка <a title="TinyMCE Advanced" href="http://wordpress.org/extend/plugins/tinymce-advanced/" class="external-link">TinyMCE Advanced</a>.<br />
В директории  <code>\plugins\tinymce-advanced\mce\emotions</code>находятся 2 файла:</p>
<ol>
<li> <code>emotions.htm</code>&mdash; определяет то, как будут выводиться смайлики во всплывающем окошке</li>
<li> <code>editor_plugin.js</code>&mdash; определяет размеры этого самого окошка. Для смайликов в 5 рядов по 8 штук (как на картинке) у меня выставлен размер в 300&times;210 пикселей.</li>
</ol>
<p>Готово!</p>
]]></content:encoded>
			<wfw:commentRss>http://hweia.ru/2008/06/replace-defaut-smilies/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
