.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.el \{\
.    de IX
..
.\}
.\" ========================================================================
.\"
.IX Title "Locale::Po4a::Po 3"
.TH Locale::Po4a::Po 3 "2012-05-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAZWA"
.IX Header "NAZWA"
Locale::Po4a::Po \- moduł manipulujący plikami \s-1PO\s0
.SH "SKŁADNIA"
.IX Header "SKŁADNIA"
.Vb 2
\&    use Locale::Po4a::Po;
\&    my $pofile=Locale::Po4a::Po\->new();
\&
\&    # Czytanie pliku PO
\&    $pofile\->read(\*(Aqplik.po\*(Aq);
\&
\&    # Dodanie wpisu
\&    $pofile\->push(\*(Aqmsgid\*(Aq => \*(AqHello\*(Aq, \*(Aqmsgstr\*(Aq => \*(Aqbonjour\*(Aq,
\&                  \*(Aqflags\*(Aq => "wrap", \*(Aqreference\*(Aq=>\*(Aqfile.c:46\*(Aq);
\&
\&    # Wyciągnięcie tłumaczenia
\&    $pofile\->gettext("Hello"); # zwraca \*(Aqbonjour\*(Aq
\&
\&    # Zapisanie z powrotem do pliku
\&    $pofile\->write(\*(Aqinny_plik.po\*(Aq);
.Ve
.SH "OPIS"
.IX Header "OPIS"
Locale::Po4a::Po jest modułem pozwalającym manipulować katalogami
wiadomości. Można załadować i zapisać plik po (którego rozszerzeniem często
jest \fIpo\fR), można zbudować nowe wpisy w locie albo zażądać przetłumaczenia
komunikatu.
.PP
Bardziej całościowy opis katalogów wiadomości w formacie \s-1PO\s0 i ich użycia
można znaleźć w dokumentacji programu gettext.
.PP
Ten moduł jest częścią projektu po4a, którego celem jest użycie plików \s-1PO\s0 (z
założenia przeznaczonych do ułatwienia tłumaczenia komunikatów programu) do
tłumaczenia wszystkiego, włączając dokumentację (strony podręcznika man,
strony info), opisy pakietów, szablony debconfa i wszystkiego, co może
korzystać z tego.
.SH "OPCJE AKCEPTOWANE PRZEZ MODUŁ"
.IX Header "OPCJE AKCEPTOWANE PRZEZ MODUŁ"
.IP "\fBporefs\fR" 4
.IX Item "porefs"
Określa format odnośnika. Może to być: \fBnone\fR \- nie dodaje żadnych
odnośników, \fBnoline\fR \- nie dodaje numeru linii, \fBfull\fR \- dodaje kompletne
odnośniki.
.SH "Funkcje całego katalogu wiadomości"
.IX Header "Funkcje całego katalogu wiadomości"
.IP "\fInew()\fR" 4
.IX Item "new()"
Tworzy nowy katalog wiadomości. Jeśli podano argument, jest on nazwą pliku
\&\s-1PO\s0, który powinien być załadowany.
.IP "read($)" 4
.IX Item "read($)"
Czyta plik \s-1PO\s0 (o nazwie podanej jako argument). Wcześniej istniejące wpisy
nie są usuwane, a nowe wpisy są dodawane na końcu katalogu.
.IP "write($)" 4
.IX Item "write($)"
Zapisuje bieżący katalog do podanego pliku.
.IP "write_if_needed($$)" 4
.IX Item "write_if_needed($$)"
Podobne do write, ale jeżeli pliki \s-1PO\s0 lub \s-1POT\s0 już istnieją, to wynik
zostanie zapisany do pliku tymczasowego, który będzie porównany z
istniejącym plikiem, aby sprawdzić, czy aktualizacja jest rzeczywiście
potrzebna (pozwala to uniknąć zmieniania pliku \s-1POT\s0 tylko po to, by
zaktualizować odnośniki lub pole POT-Creation-Date).
.IP "gettextize($$)" 4
.IX Item "gettextize($$)"
Funkcja tworzy jeden katalog przetłumaczonych wiadomości z dwóch katalogów \-
oryginału i tłumaczenia. Proces tej jest opisany w sekcji \fIProces
przekształcania do formatu gettext: jak to działa?\fR podręcznika
\&\fIpo4a\fR\|(7).
.IP "filter($)" 4
.IX Item "filter($)"
Funkcja wyodrębnia katalog wiadomości z istniejącego katalogu. W pliku
wynikowym będą umieszczone tylko te wpisy, do których istnieje odniesienie w
podanym pliku.
.Sp
Funkcja przetwarza swoje argumenty, generuje z nich definicję funkcji Perla,
ewaluuje tę definicję i filtruje pola, dla których ta wygenerowana funkcja
zwróci wartość true.
.Sp
Czasami uwielbiam Perla ;)
.IP "\fIto_utf8()\fR" 4
.IX Item "to_utf8()"
Zmienia kodowanie wpisów msgstr pliku \s-1PO\s0 do \s-1UTF\-8\s0. Nic nie robi, jeśli w
pliku \s-1PO\s0 nie jest podane kodowanie znaków (wartość \*(L"\s-1CHARSET\s0\*(R") albo gdy jest
ono ustawione na \s-1UTF\-8\s0 lub \s-1ASCII\s0.
.SH "Funkcje używające katalogu wiadomości do tłumaczeń"
.IX Header "Funkcje używające katalogu wiadomości do tłumaczeń"
.IP "gettext($%)" 4
.IX Item "gettext($%)"
Żąda przetłumaczenia przez bieżący katalog komunikatu podanego jako
argument. Jeśli nie znaleziono tłumaczenia, funkcja zwróci oryginalny
(nieprzetłumaczony) komunikat.
.Sp
Po komunikacie do przetłumaczenia można przekazać hasha z dodatkowymi
argumentami. Poniżej podano poprawne wpisy:
.RS 4
.IP "\fBwrap\fR" 4
.IX Item "wrap"
wartość logiczna, określająca, czy białe znaki w tekście mają
znaczenie. Jeśli tak, to funkcja kanonizuje tekst przed wyszukaniem
tłumaczenia oraz zawija tekst wynikowy.
.IP "\fBwrapcol\fR" 4
.IX Item "wrapcol"
kolumna, w której tekst powinien być zawijany (domyślnie: 76).
.RE
.RS 4
.RE
.IP "\fIstats_get()\fR" 4
.IX Item "stats_get()"
Zwraca statystyki dotyczące stosunku trafień od ostatniego wywołania funkcji
\&\fIstats_clear()\fR. Proszę zauważyć, że to nie są te same statystyki, które
wypisuje msgfmt \-\-statistic. Tutaj, statystyki dotyczą bieżącego użycia
pliku \s-1PO\s0, a msgfmt podaje stan pliku. Przykład użycia:
.Sp
.Vb 1
\&    [klika użyć pliku PO do tłumaczenia rzeczy]
\&
\&    ($percent,$hit,$queries) = $pofile\->stats_get();
\&    print "Do tej pory znaleźliśmy tłumaczenia $percent\e% ($hit z $queries) komunikatów.\en";
.Ve
.IP "\fIstats_clear()\fR" 4
.IX Item "stats_clear()"
Czyści statystyki dotyczące trafienia gettexta.
.SH "Funkcje budujące katalog wiadomości"
.IX Header "Funkcje budujące katalog wiadomości"
.IP "push(%)" 4
.IX Item "push(%)"
Dodaje nowy wpis na koniec bieżącego katalogu. Argumenty powinny być
przekazane w hashu. Dostępne klucze:
.RS 4
.IP "\fBmsgid\fR" 4
.IX Item "msgid"
łańcuch znaków w oryginalnym języku.
.IP "\fBmsgstr\fR" 4
.IX Item "msgstr"
tłumaczenie.
.IP "\fBreference\fR" 4
.IX Item "reference"
wskazanie, gdzie dany komunikat został znaleziony. Przykład plik.c:46 (w
linii 46 pliku \*(L"plik.c\*(R"). W razie wielokrotnych wystąpień może być to lista
rozdzielona znakami spacji.
.IP "\fBcomment\fR" 4
.IX Item "comment"
komentarz dodany tutaj ręcznie (przez tłumaczy). Format jest dowolny.
.IP "\fBautomatic\fR" 4
.IX Item "automatic"
komentarz dodany automatycznie przez program wyciągający
komunikaty. Szczegóły w opisie opcji \fB\-\-add\-comments\fR programu \fBxgettext\fR.
.IP "\fBflags\fR" 4
.IX Item "flags"
rozdzielona spacjami lista wszystkich zdefiniowanych flag dla tego wpisu.
.Sp
Poprawne flagi: \fBc\-text\fR, \fBpython-text\fR, \fBlisp-text\fR, \fBelisp-text\fR,
\&\fBlibrep-text\fR, \fBsmalltalk-text\fR, \fBjava-text\fR, \fBawk-text\fR,
\&\fBobject-pascal-text\fR, \fBycp-text\fR, \fBtcl-text\fR, \fBwrap\fR, \fBno-wrap\fR i
\&\fBfuzzy\fR.
.Sp
Ich znaczenie można znaleźć w dokumentacji pakietu gettext.
.IP "\fBtype\fR" 4
.IX Item "type"
jest to w większości argument wewnętrzny używany podczas przekształcania
dokumentów do formatu gettext. Ideą jest przetworzenie do obiektu \s-1PO\s0 zarówno
oryginału, jak i tłumaczenia, scalenie ich, używając msgid jednego jako
msgstr drugiego i msgid drugiego jako msgstr pierwszego. Aby mieć pewność,
że wszystko jest \s-1OK\s0, każdy msgid w obiekcie ma przypisany typ, oparty na
strukturze dokumentu (jak \*(L"chap\*(R", \*(L"sect1\*(R", \*(L"p\*(R" w formacie DocBook). Jeśli
typy komunikatów nie są takie same, oznacza to, że struktura obu plików jest
różna i proces kończy się błędem.
.Sp
Ta informacja jest zapisywana jako automatyczny komentarz w pliku \s-1PO\s0,
ponieważ dostarcza tłumaczom kontekstu o komunikatach, które tłumaczą.
.IP "\fBwrap\fR" 4
.IX Item "wrap"
wartość logiczna, określająca, czy białe znaki mogą być scalane. Jeśli tak,
komunikat przed użyciem będzie ujednolicony.
.Sp
Ta informacja jest zapisywana do pliku \s-1PO\s0 z użyciem flagi \fBwrap\fR lub
\&\fBno-wrap\fR.
.IP "\fBwrapcol\fR" 4
.IX Item "wrapcol"
kolumna, w której tekst powinien być zawijany (domyślnie: 76).
.Sp
Ta informacja nie jest zapisywana w pliku \s-1PO\s0.
.RE
.RS 4
.RE
.SH "Różne funkcje"
.IX Header "Różne funkcje"
.IP "\fIcount_entries()\fR" 4
.IX Item "count_entries()"
Zwraca liczbę wpisów w katalogu (nie licząc nagłówka).
.IP "\fIcount_entries_doc()\fR" 4
.IX Item "count_entries_doc()"
Zwraca liczbę wpisów w dokumencie. Komunikaty pojawiające się wiele razy w
tym dokumencie będą policzone wiele razy.
.IP "msgid($)" 4
.IX Item "msgid($)"
Zwraca msgid o zadanym numerze.
.IP "msgid_doc($)" 4
.IX Item "msgid_doc($)"
Zwraca msgid znajdujące się w dokumencie na podanej pozycji.
.IP "\fIget_charset()\fR" 4
.IX Item "get_charset()"
Zwraca kodowanie znaków określone w nagłówku pliku \s-1PO\s0. Jeśli nie zostało
ustawione, to zwraca tekst \*(L"\s-1CHARSET\s0\*(R".
.IP "set_charset($)" 4
.IX Item "set_charset($)"
Ustawia kodowanie znaków nagłówka pliku \s-1PO\s0 na wartość określoną przez
pierwszy argument. Jeśli ta funkcja nie zostanie nigdy wywołana (i nie
będzie przeczytany żaden plik mający podane kodowanie znaków), zostanie
pozostawiona domyślna wartość, czyli \*(L"\s-1CHARSET\s0\*(R". Ta wartość nie zmienia
zachowania modułu, jest używana tylko do wypełnienia odpowiedniego pola
nagłówka; zostanie także zwrócona przez \fIget_charset()\fR.
.SH "AUTORZY"
.IX Header "AUTORZY"
.Vb 2
\& Denis Barbier <barbier@linuxfr.org>
\& Martin Quinson (mquinson#debian.org)
.Ve
