You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-pl/docs/tdegames/ktuberling/technical-reference.docbook

135 lines
9.1 KiB

<chapter id="technical-reference">
<chapterinfo>
<authorgroup>
<author><firstname>Eric</firstname> <surname>Bischoff</surname> </author>
<othercredit role="translator"><firstname>Robert</firstname><surname>Gomułka</surname><affiliation><address><email>carramba@epf.pl</email></address></affiliation><contrib>Polskie tłumaczenie</contrib></othercredit>
</authorgroup>
<date>2002-04-10</date> <releaseinfo>0.03.02</releaseinfo> <keywordset>
<keyword>KDE</keyword>
<keyword>KTuberling</keyword>
<keyword>dokumentacja techniczna</keyword>
</keywordset>
</chapterinfo>
<title>Dokumentacja techniczna</title>
<para>&ktuberling; oferuje oględne i odpłacające wprowadzenie do dostrajania i programowania &kde;. Program może być rozszerzany. Na przykład, bez żadnego kodowania, nowe plansze mogą być dodawane za pomocą zmiany plików graficznych. Poprzez dodanie odpowiednich plików dźwiękowych, tłumacze mogą stworzyć dźwięki w ich ojczystym języku! </para>
<para>Jeżeli rozszerzasz, lub dodajesz coś do gry, pomyśl o przesłaniu Twoich dodatków do programisty <ulink url="mailto:e.bischoff@noos.fr">Eric Bischoff</ulink>, w celu włączenia w kolejnych wersjach. </para>
<sect1 id="for-artists">
<title>Dla artystów</title>
<para>Rozmiar i kształt pola gry, a także liczba obiektów mogą podlegać zmianom. Można dodawać nowe plansze. Tylko dwa pliki graficzne muszą być stworzone dla każdej planszy: plansza gry i maska. Maksymalnie dozwolonych jest 8 plansz, z których obecnie używa się 3. </para>
<para>W programie &ktuberling; używa się sześciu typów obrazków: <filename>potato-game.png</filename>, <filename>potato-mask.png</filename>, <filename>penguin-game.png</filename>, <filename>penguin-mask.png</filename>, <filename>aquarium-game.png</filename> i <filename>aquarium-mask.png</filename>. Standardowym położeniem tych plików jest katalog <filename class="directory">$TDEDIR/share/apps/ktuberling/pics/</filename>. </para>
<para>Pierwszy typ obrazków, <filename>*-game.png</filename>, przechowuje planszę i obiekty, które wybiera użytkownik. Jest to grafika, którą widzi użytkownik podczas gry. </para>
<para>Drugi typ obrazków, <filename>*-mask.png</filename>, zawiera wyłącznie maski obiektów. Maski używane są do określania granic obiektów, a także, w niektórych przypadkach, dodania obiektowi pewnej przezroczystości (na przykład okulary). Obowiązkowe jest umieszczenie obiektów w tym samym położeniu zarówno w pliku planszy, jak i pliku masek. </para>
<para>W tym samym katalogu plik o nazwie <filename>layout.xml</filename>. (<filename>$TDEDIR/share/apps/ktuberling/pics/layout.xml</filename>) mówi, których obrazków użyć i łączy je z pozycjami menu. Zawiera również parametry pozycji planszy, a także obiektów w polu gry i maskach. Ostatecznie deklaruje języki jako zbiory przetłumaczonych dźwięków. Stosuje się do standardowej składni XML (zobacz szczegóły na <link linkend="layout-details">below</link>). </para>
<para>Ciągle w tym samym katalogu, plik o nazwie <filename>layout.i18n</filename> (<filename>$TDEDIR/share/apps/ktuberling/pics/layout.xml</filename>) podsumowuje teksty w <filename>layout.xml</filename>, które mogą być przetłumaczone: <itemizedlist>
<listitem><para>Pozycje menu, które pozwalają wybrać planszę i język</para></listitem>
<listitem><para>Nazwy kategorii obiektów</para></listitem>
</itemizedlist>
</para>
<para>Jeden poziom wyżej, plik o nazwie <filename>ktuberlingui.rc</filename> (<filename>$TDEDIR/share/apps/ktuberling/ktuberlingui.rc</filename>) jest kolejnym plikiem XML opisującym menu programu &ktuberling;. Powinien zawierać jeden znacznik <markup>&lt;action&gt;</markup> dla planszy i języka. Nazwa symboliczna akcji w tym pliku powinna być identyczna z nazwą symboliczną w <filename>layout.xml</filename>. </para>
</sect1>
<sect1 id="for-translators">
<title>Tłumaczenie</title>
<para>Oprócz zwyczajowego mechanizmu plików <literal role="extension">.po</literal> do tłumaczenia etykiet i tekstów zachęty, dźwięki również mogą zostać zlokalizowane. </para>
<para>Jeśli różni tłumacze mogą nagrać swój głos do pliku <literal role="extension">.wav</literal>, mogą go zachować do określonego przez język podkatalogu w katalogu z dźwiękami. Nazwa dźwięku jest później przypisywana do pliku <filename>layout.xml</filename>. Na przykład gdy docelowym językiem jest włoski, tłumacze mogą nagrać swój głos w plikach <literal role="extension">.wav</literal> umieszczonych w <filename>$TDEDIR/share/apps/ktuberling/sounds/it</filename>. Następnie mogą przydzielić dźwięk o nazwie <quote>hat</quote> do nazwy pliku <filename>it/cappello.wav</filename>. </para>
<para>W kolejnych wersjach &ktuberling; będzie używał dla dźwięków formatu OGG Vorbis rc3. Wtedy również będzie można skonwertować pliki WAV do OGG Vorbis rc3 za pomocą poniższej linii: <screen><prompt>$</prompt> <userinput>oggenc_rc3 -o <replaceable>sound.ogg</replaceable> <replaceable>sound.wav</replaceable></userinput>
</screen>
</para>
<para>Informacja jak pracować z mechanizmami tłumaczeń w &kde; jest dostępna w <ulink url="http://i18n.kde.org/translation-howto/index.html">The KDE Translation HOWTO</ulink>. </para>
</sect1>
<sect1 id="for-programmers">
<title>Dla programistów</title>
<para>&ktuberling; tak naprawdę nie jest trudny do rozszerzenia przez programistów.</para>
<sect2 id="classes">
<title>klasy C++</title>
<variablelist>
<varlistentry>
<term><classname>TopLevel</classname></term>
<listitem>
<para>Okno górnego poziomu i podstawowe zarządzanie programem</para>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>PlayGround</classname></term>
<listitem>
<para>Opis jednego z poziomów gry</para> </listitem>
</varlistentry>
<varlistentry>
<term><classname>ToDraw</classname></term>
<listitem>
<para>Opis jednego z <quote>obiektów</quote> graficznych do narysowania</para> </listitem>
</varlistentry>
<varlistentry>
<term><classname>SoundFactory</classname></term>
<listitem>
<para>Opis jednego z języków i jego dźwięków</para> </listitem>
</varlistentry>
<varlistentry>
<term><classname>Action</classname></term>
<listitem>
<para>Jedna z akcji użytkownika na stosie cofnij/ponów</para> </listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="files-structure">
<title>Struktura plików <literal role="extension">.tuberling</literal></title>
<para>Plik <literal role="extension">.tuberling</literal> przechowuje dane niezbędne do odrysowania bulwy. Może być edytowany zwykłym edytorem tekstu.</para>
<para>Pierwsza linia przechowuje numer planszy.</para>
<para>We wszystkich pozostałych liniach znajduje się po jednym obiekcie graficznym, w kolejności używanej do ich narysowania. Każda linia zawiera pięć liczb: identyfikator obiektu i prostokąt, gdzie powinien być narysowany (lewo, góra, prawo, dół). Liczby oddzielone są spacjami.</para>
</sect2>
</sect1>
<sect1 id="layout-details">
<title>Struktura pliku rozmieszczenia (<filename>layout.xml</filename>)</title>
<para>Znacznik górnego poziomu jest unikalny, a jego nazwa to <markup>&lt;ktuberling&gt;</markup>. Zawiera liczne znaczniki <markup>&lt;playground&gt;</markup>, po jednym dla planszy oraz liczne <markup>&lt;language&gt;</markup>, po jednym dla języka. </para>
<para>Znacznik <markup>&lt;playground&gt;</markup> posiada dwa atrybuty. <markup>gameboard</markup> i <markup>masks</markup>. Atrybuty te dają nazwę plików przechowujących obrazki. <markup>&lt;playground&gt;</markup> zawiera również jeden znacznik <markup>&lt;menuitem&gt;</markup>, jeden znacznik <markup>&lt;editablearea&gt;</markup>, wiele znaczników <markup>&lt;category&gt;</markup> i <markup>&lt;object&gt;</markup>. </para>
<para>Znacznik <markup>&lt;menuitem&gt;</markup> opisuje identyfikator akcji pozycji menu pozwalając na wybór położenia obszaru, na którym można upuszczać obiekty, a także etykietę tej pozycji menu. Ten identyfikator akcji powinien być identyczny z tym w <filename>ktuberlingui.rc</filename>. </para>
<para>Znacznik <markup>&lt;editablearea&gt;</markup> opisuje położenie obszaru, na którym można upuszczać obiekty, a także nazwę dźwięku z nim powiązanego. </para>
<para>Znacznik <markup>&lt;category&gt;</markup> opisuje położenie i etykietę tekstu opisującego grupę obiektów. Na przykład, może opisywać położenie i tekst grupy <quote>kosztowności</quote>. </para>
<para>Znacznik <markup>&lt;object&gt;</markup> opisuje położenie (na planszy i w maskach) obiektu, jak również nazwę dźwięku z nim powiązanego. </para>
<para>Znacznik <markup>&lt;language&gt;</markup> posiada jeden atrybut: <markup>code</markup>. Zawiera on kod ustawień regionalnych danego języka. Znacznik <markup>&lt;language&gt;</markup> zawiera również jeden znacznik <markup>&lt;menuitem&gt;</markup> i wiele znaczników <markup>&lt;sound&gt;</markup>. </para>
<para>Znaczniki niższego poziomu nie są tu wyjaśnione, ponieważ ich znaczenie jest raczej oczywiste. Po zmianie <filename>layout.xml</filename> nie zapomnij odpowiednio zmodyfikować <filename>layout.i18n</filename> i <filename>ktuberlingui.rc</filename>. </para>
</sect1>
</chapter>