.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32)
.\"
.\" 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" ''
.    ds C`
.    ds C'
'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 >0, 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.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    if !\nF==2 \{\
.        nr % 0
.        nr F 2
.    \}
.\}
.\" ========================================================================
.\"
.IX Title "Locale::Po4a::Po 3pm"
.TH Locale::Po4a::Po 3pm "2018-12-17" "Narzędzia po4a" "Narzędzia po4a"
.\" 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
For a more complete description of message catalogs in the \s-1PO\s0 format and
their use, please refer to the info documentation of the gettext program
(node \*(L"`\s-1PO\s0 Files\*(R"').
.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 "\fB\-\-porefs\fR \fItype\fR[,\fBwrap\fR|\fBnowrap\fR]" 4
.IX Item "--porefs type[,wrap|nowrap]"
Specify the reference format. Argument \fItype\fR can be one of \fBnever\fR to not
produce any reference, \fBfile\fR to only specify the file without the line
number, \fBcounter\fR to replace line number by an increasing counter, and
\&\fBfull\fR to include complete references (default: full).
.Sp
Argument can be followed by a comma and either \fBwrap\fR or \fBnowrap\fR
keyword.  References are written by default on a single line.  The \fBwrap\fR
option wraps references on several lines, to mimic \fBgettext\fR tools
(\fBxgettext\fR and \fBmsgmerge\fR).  This option will become the default in a
future release, because it is more sensible.  The \fBnowrap\fR option is
available so that users who want to keep the old behavior can do so.
.IP "\fB\-\-msgid\-bugs\-address\fR \fIadres@e\-mail\fR" 4
.IX Item "--msgid-bugs-address adres@e-mail"
Ustawia adres, pod który należy zgłaszać błędy w polach msgid. Domyślnie,
utworzone pliki \s-1POT\s0 nie zawierają nagłówków Report-Msgid-Bugs-To.
.IP "\fB\-\-copyright\-holder\fR \fIstring\fR" 4
.IX Item "--copyright-holder string"
Ustawia właściciela praw autorskich w nagłówku \s-1POT.\s0 Domyślną wartością jest
\&\*(L"Free Software Foundation, Inc.\*(R"
.IP "\fB\-\-package\-name\fR \fInazwa\fR" 4
.IX Item "--package-name nazwa"
Ustawia nazwę pakietu w nagłówku \s-1POT.\s0 Domyślną wartością jest \*(L"\s-1PACKAGE\*(R".\s0
.IP "\fB\-\-package\-version\fR \fIwersja\fR" 4
.IX Item "--package-version wersja"
Ustawia wersję pakietu w nagłówku pliku \s-1POT.\s0 Domyślną wartością jest
\&\*(L"\s-1VERSION\*(R".\s0
.SH "Functions concerning entire message catalogs"
.IX Header "Functions concerning entire message catalogs"
.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\*(R"\s0) 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 "equals_msgid(po)" 4
.IX Item "equals_msgid(po)"
Returns ($uptodate, \f(CW$diagnostic\fR) with \f(CW$uptodate\fR indicating whether all msgid
of the current po file are also present in the one passed as parameter (all
other fields are ignored in the file comparison).  Informally, if \f(CW$uptodate\fR
returns false, then the po files would be changed when going through
\&\fBpo4a\-updatepo\fR.
.Sp
If \f(CW$uptodate\fR is false, then \f(CW$diagnostic\fR contains a diagnostic of why this is
so.
.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\*(R".\s0
.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\*(R".\s0 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
.SH "TŁUMACZENIE"
.IX Header "TŁUMACZENIE"
.Vb 1
\& Robert Luberda <robert@debian.org>
.Ve
