<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY mirc "<application
>mIrc</application
>">
  <!ENTITY kappname "&ksirc;">
  <!ENTITY package "kdenetwork">
  <!ENTITY irc "<acronym
>IRC</acronym
>">
  <!ENTITY CTCP "<acronym
>CTCP</acronym
>">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Russian "INCLUDE"
> <!-- change language only here -->
]>
	
<book lang="&language;">

<bookinfo>
<title
>Руководство &ksirc;</title>
<authorgroup>
<author
>&Andrew.Stanley-Jones; &Andrew.Stanley-Jones.mail; </author>
<author
>&Philip.Rodrigues; &Philip.Rodrigues.mail; </author>
</authorgroup>

<copyright>
<year
>1997</year>
<holder
>Andrew Stanley-Jones</holder>
</copyright>

<copyright>
<year
>2001</year
><year
>2002</year
><year
>2004</year>
<holder
>Philip Rodrigues </holder>

</copyright>

<othercredit role="translator"
><firstname
>Олег</firstname
><surname
>Баталов</surname
><affiliation
><address
><email
>olegbatalov@mail.ru</email
></address
></affiliation
><contrib
>Перевод на русский язык</contrib
></othercredit
> 
<date
>2004-02-06</date>
<releaseinfo
>1.3.9</releaseinfo>

<legalnotice
>&FDLNotice;</legalnotice>

<abstract>
<para
>Эта документация описывает &ksirc; 1.2.1, клиент &irc; для &kde;.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>KSirc</keyword>
<keyword
>irc</keyword>
<keyword
>Internet relay chat</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title
>Введение</title>

<para
>&ksirc; является основным клиентом &irc; для &kde;. Он поддерживает сценарии <acronym
>Perl</acronym
> и в значительной степени совместим с &mirc; при обычном использовании.</para>

</chapter>

<chapter id="using-ksirc">
<title
>Использование &ksirc;</title>

<sect1 id="irc-basics">
<title
>Если вы не использовали &irc; ранее... </title>

<para
>Проще говоря, &irc; является протоголом разговора, определённом официальными стандартами интернет, и способным занять большуючасть вашей жизни. Для использования &irc; вы должны подключиться к серверу, и затем к каналу (эквивалент комнаты для бесед).</para>

<para
>Для подключения к серверу, откройте &ksirc; и выберите <menuchoice
><guimenu
>Соединения</guimenu
><guimenuitem
> Новый сервер...</guimenuitem
></menuchoice
> либо нажмите клавишу <keycap
>F2</keycap
>. В появившемся диалоге выберите группу в левом выпадающем списке и сервер в среднем - порт, который почти всегда будет 6667. Новое окно начнёт показывать сообщения от сервера к клиенту. Когда сообщения перестанут появляться, вы можете выбрать канал. Для отображения списка доступных каналов, наберите <userinput
><command
>/list</command
></userinput
>. Для подключения к каналу наберите <userinput
><command
>/join</command
> <replaceable
>#имя_канала</replaceable
></userinput
>. Чтобы покинуть канал,  просто наберите <userinput
><command
>/part</command
></userinput
>.</para>

<para
>Это основы, чтобы получить больше информации, продолжайте читать...</para>

</sect1>

<sect1 id="ksirc-basics">
<title
>Основы &ksirc;</title>

<sect2 id="servers">
<title
>Сервера</title>

<para
>&ksirc; позволяет вам подключаться к нескольким серверам. <menuchoice
><guimenu
>Соединения</guimenu
><guimenuitem
> Новый сервер...</guimenuitem
> </menuchoice
> или нажмите клавишу<keycap
>F2</keycap
>. Появится диалог <guilabel
> Связаться с сервером</guilabel
>, и вы можете выбрать <guilabel
>Группу</guilabel
>, затем <guilabel
>Сервер</guilabel
>, а также <guilabel
>Порт</guilabel
>, к которому хотите подключиться.</para>

<para
>Просто нажмите <guilabel
>Соединение</guilabel
> когда завершите, и для сервера будет открыто новое окно. Вы можете следить за серверами, к которым подключены в окне <guilabel
>Управление сервером</guilabel
> &ksirc;</para>

<para
>Вы можете получить помощь по большинству команд &irc; набрав <userinput
>/help <replaceable
>имя_команды</replaceable
> </userinput
>. При вводе <userinput
>/help</userinput
> вы увидитесписок команд.</para>
</sect2>

<sect2 id="channels">
<title
>Каналы</title>

<para
>Вы можете присоединиться к каналу с помощью обычной команды &irc; <userinput
><command
>/join</command
> <replaceable
>#имя_канала</replaceable
> </userinput
>, выбрав <menuchoice
><guimenu
>Соединения </guimenu
><guimenuitem
>Присоединиться к каналу...</guimenuitem
> </menuchoice
> либо нажать клавишу <keycap
>F3</keycap
>.</para>

<para
>Каналы, к которым вы присоединились показаны в окне <guilabel
>Управление сервером</guilabel
> под сервером, которому они принадлежат. Чтобы покинуть канал, вы можете набрать <userinput
>/part</userinput
>, выбрать <menuchoice
><guimenu
>Канал</guimenu
><guimenuitem
> Закрыть</guimenuitem
> </menuchoice
> или нажать <keycombo action="simul"
>&Ctrl;<keycap
>W</keycap
></keycombo
>.</para>

</sect2>

<sect2 id="channel-options">
<title
>Параметры каналов</title>

<para
>Меню <guimenu
>Канал</guimenu
>, доступно в любом окне канала и содержит некоторые полезные пункты:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
>&Ctrl;<keycap
>S</keycap
> </keycombo
></shortcut
> <guimenuitem
>Сохранить в журнале...</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Сохраняет содержимое канала в файле.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice>
<guimenuitem
>Вставить время</guimenuitem>
</menuchoice
></term>
<listitem>
<para
><action
>Если выбран, перед каждой фразой будет показано время, в формате [ЧЧ:ММ:СС]</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="seq"
>&Alt;<keycap
>C</keycap
> <keycap
>T</keycap
></keycombo
></shortcut
> <guimenuitem
>Таблица Ascii</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Отображает таблицу Ascii</action
>, где вы можете выбрать необходимый символ.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="seq"
>&Alt;<keycap
>C</keycap
> <keycap
>P</keycap
></keycombo
></shortcut
> <guimenuitem
>Уведомление при изменении</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Если выбран, &ksirc; издаёт гудок, когда в канале появляется новая фраза.</action
></para
></listitem>
</varlistentry>


</variablelist>

</sect2>

<sect2 id="user-options">
<title
>Параметры пользователя</title>

<para
>Список пользователей в канале отображается справа. Щелчок правой кнопкой мыши на нике в этом списке вызывает контекстное меню, большинство пунктов которого очевидно:</para>

<variablelist>

<varlistentry>
<term
><guimenuitem
>Обновить ники</guimenuitem
></term>
<listitem>
<para
><action
>Послать сообщение на сервер с запросом списка пользователей в канале</action
>. Это обеспечивает современность списка ников.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Следовать</guimenuitem
></term>
<listitem>
<para
><action
>Выделять ник пользователя в каждом сообщении, посланном в канал. Таким способом вы можете вести беседу с кем-либо в переполненном канале.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Прекратить следование </guimenuitem
></term>
<listitem>
<para
><action
>Прекратить слежение за пользователем.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Кто это?</guimenuitem
></term>
<listitem>
<para
><action
>Послать пользователю запрос &CTCP; "ты кто?", который предоставляет информацию о пользователе, подобно имени его хоста, и к какому серверу он подключён.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Пинг</guimenuitem
></term>
<listitem>
<para
><action
>Послать пользователю запрос &CTCP; Пинг, для определении его времени эха.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Версия клиента </guimenuitem
></term>
<listitem>
<para
><action
>Послать пользователю запрос &CTCP; версии, для определения версии используемой им программы.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Оскорбление </guimenuitem
></term>
<listitem>
<para
><action
>Оскорбление пользователя одним из забавных способов.</action
></para>
</listitem>
</varlistentry>

</variablelist>

<para
>Следующие команды доступны если вы являетесь оператором в канале:</para>

<variablelist>
<varlistentry>
<term
><guimenuitem
>Выкинуть с канала </guimenuitem
></term>
<listitem>
<para
><action
>Удаление пользователя из канала.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Запретить вход в канал</guimenuitem
></term>
<listitem>
<para
><action
>Запретить пользователю присоединяться к каналу.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Снять запрет входа в канал</guimenuitem
></term>
<listitem>
<para
><action
>Удалить запрет пользователю присоединятся к каналу.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Сделать оператором</guimenuitem
></term>
<listitem>
<para
><action
>Предоставить пользователю привилегии оператора.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Сделать обычным пользователем</guimenuitem
></term>
<listitem>
<para
><action
>Лишить пользователя привилегий оператора.</action
></para>
</listitem>
</varlistentry>

</variablelist>

</sect2>
</sect1>

<sect1 id="autoconnecting">
<title
>Автосоединение</title>
<para
>Если вы при каждом использовании &ksirc; подключаетесь к нескольким серверам и/или каналам, можете настроить &ksirc; автоматически подключаться к ним: в окне <guilabel
> Управление сервером</guilabel
>, выберите <menuchoice
> <guimenu
>Настройки</guimenu
><guimenuitem
>НастроитьKSirc...</guimenuitem
></menuchoice
>, и появится диалог, выберите страницу <guilabel
>Автосоединение</guilabel
>. Для добавление канала с сервера, заполните текстовые поля <guilabel
>Сервер</guilabel
> и <guilabel
>Канал</guilabel
>, затем нажмите кнопку <guibutton
>Новый</guibutton
>. Для добавление другого канала этого-же сервера, выберите сервер в дереве, введите имя канала в поле <guilabel
>Канал</guilabel
> и нажмите кнопку <guibutton
> Добавить</guibutton
>. Вы можете повторить этот процесс несколько раз если хотите добавить несколько серверов и каналов для подключения к ним при запуске &ksirc;.</para>
</sect1>

</chapter>

<chapter id="ksirc-configuration">
<title
>Настройка &ksirc; </title>

<sect1 id="config-intro">
<title
>Введение в настройку</title>
<para
>Диалог настройки &ksirc; доступен в меню <menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить KSirc...</guimenuitem
> </menuchoice
> окна <guilabel
>Управление сервером</guilabel
> </para>
</sect1>

<sect1 id="general-config">
<title
>Страница <guilabel
>Общие</guilabel
></title>

<sect2 id="windowmode">
<title
><guilabel
>Режим окон</guilabel
></title>
<para>
<variablelist>

<varlistentry>
<term
><guilabel
>Отдельные окна (старый вариант)</guilabel
></term>
<listitem
><para
>Причиной использования в &ksirc; интерфейс одного документа, является связь каждого нового канала или окна <command
>/query </command
> с собственным окном.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Многооконный режим с вкладками (XChat)</guilabel
></term>
<listitem
><para
>Причиной использования в &ksirc; многооконного интерфейса в стиле <application
>XChat</application
>, где каждый канал или окно <command
>/query</command
> расположены во вкладках основного окна &ksirc;. Каждая вкладка может быть сделана активной щелчком на ней мышкой, вы можете переключать вкладки используя <keycombo
>&Alt;<keysym
>Стрелка влево</keysym
></keycombo
> и <keycombo
>&Alt;<keysym
>Стрелка вправо</keysym
></keycombo
>.</para>
</listitem>
</varlistentry>

</variablelist>

</para>
</sect2>

<sect2 id="misc-general-config">
<title
>Блок <guilabel
>Разное</guilabel
></title>
<para>

<variablelist>

<varlistentry>
<term
><guilabel
>Автоматическое создание окон</guilabel
></term
> <listitem
><para
>Если установлен, &ksirc; будет автоматически создавать новое окно для каждого пользователя, который посылает вам команду <command
>/msg</command
>. Если не установлен,  любой текст посланный вам командой <command
>/msg</command
> появится в текущем окне и вы можете использовать <command
>/query <replaceable
>имя_пользователя</replaceable
></command
> для создания окна чата с конкретным пользователем.</para
></listitem>
</varlistentry>


<varlistentry id="nick-completion">
<term
><guilabel
>Завершение ников</guilabel
></term
> <listitem
><para
>Если выбрано, завершение ников включено. Оно работает следующим образом: <orderedlist>

<listitem
><para
>Наберите первые буквы ника пользователя</para
></listitem>

<listitem
><para
>Нажмите <keysym
>TAB</keysym
>. Набранный вами текст будет дополнен до имени пользователя, включая изменение регистра, если необходимо. &eg; <userinput
>phi&lt;TAB&gt;</userinput
> станет <computeroutput
>PhilRod</computeroutput
> если в канале присутствует пользователь <quote
>PhilRod</quote
>.</para
></listitem>

<listitem
><para
>Если тексту соответствует несколько ников, присутствующих в канале, будет выбран первый. Повторное нажатие <keysym
> TAB</keysym
> отображает следующий ник в списке. Например, если в канале присутствуют пользователи <quote
>PhilA</quote
> и <quote
>PhilRod</quote
>, и вы набрали <userinput
>phi&lt;TAB&gt;</userinput
>, сначала текст будет закончен как <computeroutput
>PhilA</computeroutput
>, а когда вы нажмёте <keysym
>TAB</keysym
> ещё раз, он будет изменён на <computeroutput
>PhilRod</computeroutput
>.</para>
</listitem>

</orderedlist>
</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Показывать тему в заголовке</guilabel
></term>
<listitem
><para
><action
>Показывать в заголовке текущего окна канала, его тему.</action
>. Если не выбрано, тема будет отображаться только внутри окна.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Вставлять время</guilabel
></term
> <listitem
><para
><action
>Вставлять время перед каждой фразой,</action
> в формате [ЧЧ:ММ:СС].</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Сигнал при изменении</guilabel
></term>
<listitem
><para
>Если установлен, будет генерироваться системный гудок, когда пользователь в вашем списке <command
>/notify</command
> появится на сервере &irc;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Список выбора цветов</guilabel
></term>
<listitem
><para
>Если установлен, при нажатии <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> появится окно, где вы можете выбратьцвет для текста. Если не установлен, вы должны будете набирать коды цветов вручную. Смотрите также <xref linkend="sectcolors"/>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Автоматический вход на канал после выкидывание</guilabel
></term>
<listitem
><para
><action
>Переприсоединяться к каналу автоматически если вы были отключены.</action
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Длинна истории</guilabel
></term>
<listitem
><para
>Хранить указанное количество строк чата в каждом окне, позволяет вам прокручивать его вверх и видеть что было сказано ранее.</para
></listitem>
</varlistentry>

</variablelist>
</para>
</sect2>

<sect2 id="wallpaper-config">
<title
>Настройка <guilabel
>Обои</guilabel
></title>
<para
>В разделе <guilabel
>Обоев</guilabel
> вы можете изменить изображение помещаемое как фон в ваши окна &ksirc;. Вы можете ввести в текстовое поля имя файла, или просмотреть файлы с помощью кнопки справа от этого поля. Используемые файлы изображений должны быть в формате &GIF;, <acronym
> JPEG</acronym
> или <acronym
>PNG</acronym
>. Предварительный просмотр изображения отображается в правой части окна.</para>
</sect2
> 
</sect1>

<sect1 id="startup-tab">
<title
>Страница <guilabel
>Запуск</guilabel
></title>

<para
>Здесь вы можете настроить параметры запуска &ksirc;. </para>

<sect2 id="name-settings">
<title
><guilabel
>Настройки идентификации</guilabel
></title>

<para>

<variablelist>

<varlistentry>
<term
><guilabel
>Ник</guilabel
></term>
<listitem
><para
>Установить ваш ник в &irc;</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Альтернативный ник</guilabel
></term>
<listitem
><para
>Установить другой ник, если первоначальный выбор уже используется другим пользователем.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Реальное имя</guilabel
></term>
<listitem
><para
>Ваше реальное имя, как возвращается командой <command
>/whois</command
> к вам.</para
></listitem>
</varlistentry>

</variablelist>
</para>
</sect2>

<sect2 id="notify-list">
<title
><guilabel
>Список уведомлений</guilabel
></title>

<para
>Здесь вы можете ввести список пользователей, которых хотите добавить к вашему списке <command
>/notify</command
> при старте. Вы будете предупреждены, когда кто-либо из этого списка появится в сети.</para>
</sect2>

</sect1>

<sect1 id="colors-tab">
<title
>Страница <guilabel
>Цвета</guilabel
></title>
<para
>Здесь вы можете настроить цвета, используемые &ksirc;. </para>

<sect2 id="chat-colors">
<title
>Настройка <guilabel
>Цветов чата</guilabel
></title>
<para
>Здесь вы можете установить цвета для каждого типа текста. Нажатие цветной кнопки, расположеной справа от имени каждого типа текста открывает диалог цвета, где вы можете выбрать, какой цвет будет использоваться для отображения данного типа текста. </para>
</sect2>

<sect2 id="nick-colors">
<title
><guilabel
>Цвета ника</guilabel
></title>
<para
><guilabel
>Основной текст:</guilabel
> и <guilabel
>Фон:</guilabel
> устанавливают цвета основного текста и фона ников пользователей в окнах чата. Параметр <guilabel
> Цвет сообщений, содержащих ваш ник:</guilabel
> устанавливает цвет любого сообщение появляющегося в канале, которое содержит ваш ник.</para>
</sect2>

<sect2 id="color-codes">
<title
><guilabel
>Коды цветов</guilabel
></title>
<para
>Здесь вы можете установить как разрешает родные коды цветов (смотрите <xref linkend="sectcolors"/>) а также какие коды цветов &mirc; разрешены.</para>
</sect2>

</sect1>

</chapter>


<chapter id="sectcolors">
<title
>Цвета &ksirc;</title>

<para
>&ksirc; следует цветовой схеме используемой &mirc; с небольшими изменениями для более удобного использования.</para>

<screen
>&lt;fg&gt; == текст
&lt;bg&gt; == фон
&lsqb;&rsqb; == дополнительный
</screen>

<sect1 id="mirccompatibility">
<title
>Совместимый с &mirc;</title>

<para
>Формат:</para>
<itemizedlist>
<listitem>
<para
><userinput
>0x03&lt;fg&gt;&lsqb;,&lt;bg&gt;&rsqb;</userinput
> установить цвет текста и фона</para>
</listitem>
<listitem>
<para
><userinput
>0x03</userinput
> переустановить в значение по умолчанию <emphasis
>этой</emphasis
> строки</para>
</listitem>
</itemizedlist>
</sect1>

<sect1 id="ksircnative">
<title
>Родной &ksirc;</title>

<para
>Формат:</para>

<itemizedlist>
<listitem>
<para
><userinput
>&tilde;&lt;fg&gt;&lsqb;,&lt;bg&gt;&rsqb;</userinput
> установить цвет текста и фона</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;c</userinput
> пореустановить в значение по умолчанию</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;b</userinput
> установить полужирный шрифт</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;u</userinput
> установить подчёркивание</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;i</userinput
> установить курсив</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;r</userinput
> установить обратный текст</para>
</listitem>
</itemizedlist>

<para
>Почему в &ksirc; была сделана замена 0x03 на &tilde; (<keycombo action="simul"
>&Ctrl;<keycap
>C</keycap
></keycombo
>)? 0x03 интенсивно используется в сценариях, и не все функции C воспринимают его корректно. <userinput
>&tilde; <replaceable
>буква</replaceable
></userinput
> также позволяют использовать большинство команд, и это также планируется в будущих версиях &mirc;.</para>

</sect1>

<sect1 id="colornumbers">
<title
>Номера цветов</title>

<orderedlist>
<listitem>
<para
>белый</para>
</listitem>
<listitem>
<para
>чёрный</para>
</listitem>
<listitem>
<para
>синий</para>
</listitem>
<listitem>
<para
>зелёный</para>
</listitem>
<listitem>
<para
>красный</para>
</listitem>
<listitem>
<para
>коричневый</para>
</listitem>
<listitem>
<para
>пурпурный</para>
</listitem>
<listitem>
<para
>оранжевый</para>
</listitem>
<listitem>
<para
>жёлтый</para>
</listitem>
<listitem>
<para
>светлый зелёный</para>
</listitem>
<listitem>
<para
>голубой</para>
</listitem>
<listitem>
<para
>светлый голубой</para>
</listitem>
<listitem>
<para
>светлый синий</para>
</listitem>
<listitem>
<para
>розовый</para>
</listitem>
<listitem>
<para
>серый</para>
</listitem>
<listitem>
<para
>светлый серый</para>
</listitem>
</orderedlist>
</sect1>

<sect1 id="sendingboldunderlinereverseandcolor">
<title
>Отправка полужирным, подчёркнутым, обратным или цветным</title>

<para
>Вы можете использовать следующие комбинации для вставки в текст управляющих кодов:</para>

<itemizedlist>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>B</keycap
></keycombo
> для полужирного текста</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
> для подчёркнутого текста</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
> для обратного текста</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> для цветного текста</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>O</keycap
></keycombo
> для обычного текста</para>
</listitem>
</itemizedlist>

</sect1>

<sect1 id="examplessetcolors">
<title
>Примеры</title>

<para
>Подчеркнуть отдельное слово в предложении:</para>

<procedure>
<step>
<para
>Нажмите <keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
></para>
</step>
<step>
<para
>Наберите слово</para>
</step>
<step>
<para
>Нажмите <keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
> повторно</para>
</step>
</procedure>

<para
>Это будет затрагивать только текст, заключённый в начальный и конечный коды. Вы можете использовать этот метод и для других управляющих кодов.</para>

<para
>Управляющий код <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> немного отличается, поскольку позволяет указывать номер цвета. Для окраски одного слова в предложении:</para>

<procedure>
<step>
<para
>Нажмите <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
></para>
</step>
<step>
<para
>Наберите число от 0 до 15</para>
</step>
<step>
<para
>Наберите слово</para>
</step>
<step>
<para
>Нажмите <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> повторно</para>
</step>
</procedure>

<para
>Если вы ходите изменить у слова цвет фона, вы должны набрать два разделённые запятой числа вместо одного. Первое число - это цвет текста, второе - номер цвета фона. Диапазон цветов от 0 до 15 находится в предедущем разделе.</para>

<para
>Вы можете заключать текст в несколько управляющих кодов, так что для примера вы можете иметь полужирное, подчёркнутое и окрашенное слово.</para>

</sect1>
</chapter>

<chapter id="filters">
<title
>Фильтры</title>

<sect1 id="filterrulesandhowtomakethem">
<title
>Профили фильтров и как они создаются</title>

<para
>Мне жаль если вы не сможете в этом разобраться. Я ищу способ создать качественного <quote
>составителя фильтров</quote
>, который вы сможете с лёгкостью использовать. Но на это нужно время.</para>

<para
>Фильтр ищет <quote
>соответствие</quote
> строке и использует <quote
>Из</quote
> и <quote
>На</quote
> для замены. Из и На являются регулярными выражениями <application
>Perl</application
>. Правила рассматриваются в порядке убывания. Верхнее правило эквивалентно первому, затем рассматривается второе с верху, &etc;. Все строки расцениваются как:</para>

<para
><varname
>$<replaceable
>имя</replaceable
></varname
> расширяется до переменной окружения <varname
><replaceable
>name</replaceable
> </varname
>. Она устанавливается немедленно, когда вы вставляете правило, и не позже не может изменяться. Поэтому вероятно имеет ограниченное назначение. </para>

<para
><varname
>$$<replaceable
>имя</replaceable
></varname
> заменяется на переменную <varname
>$<replaceable
>имя</replaceable
></varname
> языка <acronym
>Perl</acronym
> в процессе сравнения. Она может быть подстроками типа <varname
>$1</varname
>, <varname
>$2</varname
> при замене, или обычными переменными доступными в <application
>sirc </application
> (типа <varname
>$nick</varname
>, <varname
>$channel</varname
>, &etc;).</para>

<para
><varname
>&tilde;<replaceable
>имя</replaceable
>&tilde;</varname
> <emphasis
>рассмотренный только однажды</emphasis
> посылает строку текста окну <replaceable
>имя</replaceable
>. Если око не существует, будет направлен в окно, которое последним имело фокус. Существует несколько специальных окон, все они предваряются символом <literal
>!</literal
>:</para>

<para
><variablelist>
<varlistentry>
<term
><varname
>!default</varname
></term>
<listitem>
<para
>Текущее по умолчанию окно. Существование гарантируется.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><varname
>!all</varname
></term>
<listitem>
<para
>Послать всем окнам. Это может и не воявиться во всех окнах, в зависимости от того как текст анализируется. Например, окно канала не будет отображать <command
>/part</command
> или <command
>/quit</command
> если ник не присутствует в канале.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><varname
>!discard</varname
></term>
<listitem>
<para
>отказаться от текста</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para
>Остальная часть выражение рассматривается как обычное выражение <acronym
>Perl</acronym
>. Вам пригодится прочтение руководства по <command
>perlre</command
>, но больше всего необходимо понимание основ регулярный выражений.</para>

</sect1>

<sect1 id="examplesfilters">
<title
>Примеры:</title>

<orderedlist
><listitem>
<para
>Хотите преобразовать все boren из borenа в BoreN</para>

<screen
>Условие: .*
Из: boren
На: BoreN</screen>

<para
>Достаточно простой, соответствует всему, затем заменяет boren на BoreN.</para>

</listitem>
<listitem>
<para
>Вы хотите соответствовать всему с boren, и посылать в окно с именем <quote
>boren</quote
></para>

<screen
>Условие: boren
Из: &circ;
На: &tilde;boren&tilde;</screen>

<para
>Искать <quote
>boren</quote
>, если найдено, заменять начало строки (&circ;) на &tilde;boren&tilde;.</para>

</listitem>
<listitem>

<para
>Хотя предыдущий пример работает, если строка уже содержит <literal
>&tilde;некоторое_окно&tilde;</literal
> вы получите два <literal
>&tilde;boren&tilde;&tilde;некоторое_окно&tilde;...</literal
> Так что вы можете всесто этого сделать.</para>

<screen
>Условие: boren
Из: ^(?:&tilde;\S+&tilde;)
На: &tilde;boren&tilde;</screen>

<para
>Ок, строка Из немного более сложна. Она означает: соответствие 0 или 1 копии <literal
>&tilde;\S+&tilde;</literal
>. Где 1 является тильдой, один или несколько не пробелов, затем другая тильда. Параноик мог бы написать <literal
>(*:&tilde;\S+&tilde;)</literal
>, что означает: соответствие 0 или более директивам канала в случае если предыдущее правило не сработали.</para>

</listitem>

<listitem>
<para
>Уничтожающие сообщения сервера являются уродливыми, раздражающими  &etc;. Обычное сообщение в dalnet похоже на:</para>

<screen
>*** Notice -- Received KILL message for
BOBO!ANDY@line82-basel.datacomm.ch from NickServ
Path: empire.ny.us.dal.net[209.51.168.14]!trapdoor.ca.us.dal.net
[206.86.127.252]!caris.ca.us.dal.net[208.1.222.221]
!services.dal.net[2008.1.222.222]!services.dal.net
(NickServ Enforcement)</screen>

<para
>Когда вы используете <literal
>+s</literal
>, то получаете очень большое количество подобных сообщений, но не хотите видеть их. Я собираюсь создать 3 правила, одновременно применяемых к ним. Вы можете создать для это и меньшее количество, но они покажут вам структуру правил в нескольких простых шагах, и как использовать несколько правил для обработки одного сообщения. Первый шаг - это удаление из сообщения Path:</para>

<screen
>Условие: ^\*\*\*.* KILL message for.*
Из:  Path: \S+
На: .</screen>


<para
>Правило ищет сообщения, начинающиеся с <literal
>***</literal
>,  <literal
>*</literal
> должны экранироваться с помощью <literal
>\ </literal
>, поскольку означают один или несколько предшествующих символов. <literal
>.*</literal
> соответствует любым символам, перед <literal
> KILL message for</literal
>. Это позволит вам избежать печати <literal
>-- Received...</literal
> &etc; Последующие <literal
>.*</literal
> одначает: любые символы до конце строки. (я думаю не обязательный)</para>

<para
>Строка Из: означает: заменить " Path: " и любые символы, кроме пробелов на строку На:. На: является <literal
>"."</literal
>, поэтому вся строка сворачивается в точку.</para>

<para
>Теперь сообщение похоже на:</para>

<screen
>*** Notice -- Received KILL message for BOBO!ANDY@line82-basel.datacomm.ch
from NickServ. (NickServ Enforcement)</screen>

<para
>Обратите внимание на новый <literal
>"."</literal
>  после <literal
>NickServ</literal
>?</para>
</listitem>

<listitem>
<para
>Ок, сообщение достаточно чистое, но KILLы от nickserv не действительны, так что давайте отправлять их в окно <literal
>!discard</literal
></para>

<screen
>Условие: ^\*\*\*.*KILL message.*\(NickServ Enforcement\)
Из: ^(?:&tilde;\S+&tilde;)
На:  &tilde;!discard&tilde;</screen>

<para
>Правило ищет соответствия в сообщении KILL и удостоверяетсячто оно от NickServ. Обратите внимание на <literal
>\(</literal
> и  <literal
>\)</literal
>, они обе используются в выражениях, поэтому мы должны экранировать их. Это похоже на то, что было в предыдущих примерах.</para>

</listitem>
<listitem>
<para
>Теперь мы фильтруем все уничтожения nickserv, но сообщение всё ещё довольно сложное, чтобы прочитатьего одним взглядом. Так что давайте переформатируем его на что-либо подобное:</para>

<screen
>*** [KILL] <replaceable
>KILLER</replaceable
>; killed <replaceable
>KILLED</replaceable
>; (<replaceable
>ПРИЧИНА</replaceable
>)</screen>

<screen
>Условие: \*\*\*.*KILL message
Из: \*\*\*.*for (.*?) from (.*?)\. \((.*?)\).*
На: *** [KILL] $$2 killed $$1 ($$3)
</screen>

<para
>Ок, фильтр ищет соответствия <literal
>***<replaceable
>любой текст </replaceable
> KILL message</literal
>. Мы не можем использовать <literal
>&circ;</literal
> так как мы, возможно, добавили в конец <literal
>&tilde;&lt;окно&gt;&tilde;</literal
>.</para>

<para
>Строка От становится намного интереснее: <literal
>"for (.*?) "</literal
> ищет слово "for" перед некоторым текстом. <literal
>.*?</literal
> соответствует отсутствию или некоторому количеству текста, за исключением перехода на новую строку, но не обязательно. Правило срабатывает если найдено первое совпадение, но не последнее. Другими словами, это соответствует всему, кроме пробелов. Помещение выражения в <literal
>()</literal
> сохраняет его содержимое. Каждые () сохраняют соответствующие данные в <literal
>$&num;</literal
>, где <literal
>&num;</literal
> начинается с 1 для первой подстроки, &etc; В нашем примере, <varname
>$1</varname
> содержит ник/информацию о пользователе уничтожаемого человека. <varname
>$2</varname
> содержит имя уничтожающего. Между <literal
>()</literal
> содержится причина уничтожения. Здесь  <literal
>(</literal
> и <literal
>\(</literal
> кажется немного запутанными. Запомните,  <literal
>\(</literal
> соответствует фактическому символу <literal
>'('</literal
>.</para>

</listitem>
<listitem>
<para
>Как раскрасить вашу жизнь</para>

<para
>Вы хотите добавить в &ksirc; немного цвета. Информацию о цветах смотрите в <link linkend="sectcolors"
>разделе Цвета </link
>, но вот правило, перекрашивающее ник между <literal
>&lt;NICK&gt;</literal
> в каждой строке: </para>

<screen
>Условие: ^(?:&tilde;\S+&tilde;)&lt;\S+&gt;
Из: &lt;(\S+)&gt;
На: &lt;&tilde;4$$1&tilde;c&gt;</screen>

<para
>Берёт ник и добавляет цвет &num;4 между двумя <literal
>&lt;&gt;</literal
>. <literal
>&tilde;c</literal
> очищает цвет.</para>

</listitem>
</orderedlist>

</sect1>
</chapter>

<chapter id="keys">
<title
>Клавиши</title>

<para
>Список коротких клавиш и клавиш команд, доступных в &ksirc;.</para>

<table>
<title
>Раскладки клавиш</title>
<tgroup cols="2">
<thead>
<row>
<entry
>Раскладка клавиш</entry>
<entry
>Действие</entry>
</row>
</thead>

<tbody>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>N</keycap
></keycombo
></entry>
<entry
>Открыть новое окно канала/запроса.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
></entry>
<entry
>Выйти</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>Enter</keycap
></keycombo
></entry>
<entry
>Начать сообщение последнему человеку посылавшему вам сообщение.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;&Shift;<keycap
>Enter</keycap
></keycombo
></entry>
<entry
>Начать сообщение предпоследнему человеку посылавшему вам сообщение.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
></entry>
<entry
>Начать с номером кода цвета номера. Текст набранный после этого будет цветным.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
></entry>
<entry
>Начать или окончить подчёркнутый текст. Текст после первого использования будет подчёркнутым пока вы не используете эту комбинацию повторно.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>I</keycap
></keycombo
></entry>
<entry
>Начать или окончить курсивный текст. Текст после первого использования будет курсивом пока вы не используете эту комбинацию повторно.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>B</keycap
> </keycombo
></entry>
<entry
>Начать или окончить полужирный текст. Текст после первого использования будет полужирным пока вы не используете эту комбинацию повторно.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
></entry>
<entry
>Начать или окончить обратный показ текста. Текст после первого использования будет изменён пока вы не используете эту комбинацию повторно.</entry>
</row>

<row>
<entry
><keycap
>TAB</keycap
></entry>
<entry
>Попытаться завершить ник кого-либо, присутствующего в канале, основываясь на тексте который вы ввели. Вы, вероятно, уже знакомы с этим по командной строке, хотя это и не обязательно работает аналогичным образом. Смотрите <xref linkend="nick-completion"/>.</entry>
</row>

</tbody>
</tgroup>
</table>

</chapter>

<chapter id="credits-and-license">
<title
>Авторские права и лицензия</title>

<para
>Авторское право на &ksirc; 1997-2002, разработчики &ksirc;.</para>

<para
>Авторское право на части документации 1997, &Andrew.Stanley-Jones;</para>

<para
>Документация обновлена для &kde; 3.0, &Philip.Rodrigues; &Philip.Rodrigues.mail;.</para>

<para
>Олег Баталов<email
>olegbatalov@mail.ru</email
> Перевод на русский язык</para
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Установка</title>

<sect1 id="getting-ksirc">
<title
>Где взять &ksirc;</title>
&install.intro.documentation; </sect1>


<sect1 id="compilation">
<title
>Компиляция и установка</title>
&install.compile.documentation; </sect1>
</appendix>

&documentation.index;

</book>

<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-indent-step: nil
End:
-->




