.\" 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 "PO4A 1"
.TH PO4A 1 "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"
po4a \- aktualizowanie w jednym przebiegu zarówno plików \s-1PO\s0, jak i
przetłumaczonych dokumentów
.SH "SKŁADNIA"
.IX Header "SKŁADNIA"
\&\fBpo4a\fR [\fIopcje\fR] \fIplik_konfiguracyjny\fR
.SH "OPIS"
.IX Header "OPIS"
Celem projektu po4a (\*(L"\s-1PO\s0 for anything\*(R") jest ułatwienie tłumaczeń (oraz, co
ciekawsze, zarządzania tłumaczeniami) przy użyciu narzędzi gettext w tych
obszarach, gdzie nie były używane, jak na przykład w obszarze dokumentacji.
.PP
Program \fBpo4a\fR  jest użyteczny, jeżeli jest wiele plików do
przetłumaczenia, różne formaty tych plików lub istnieje potrzeba
przekazywania różnych opcji dla różnych dokumentów oraz chce się uniknąć
wywoływania \fIpo4a\-gettextize\fR\|(1), \fIpo4a\-updatepo\fR\|(1) i
\&\fIpo4a\-translate\fR\|(1) w złożonych Makefile'ach.
.SH "Spis treści"
.IX Header "Spis treści"
Dokument jest zorganizowany następująco:
.SS "\s-1OPIS\s0"
.IX Subsection "OPIS"
.SS "\s-1WPROWADZENIE\s0"
.IX Subsection "WPROWADZENIE"
.SS "SKŁADNIA \s-1PLIKU\s0 \s-1KONFIGURACYJNEGO\s0"
.IX Subsection "SKŁADNIA PLIKU KONFIGURACYJNEGO"
\fIOkreślanie języków szablonów\fR
.IX Subsection "Określanie języków szablonów"
.PP
\fIPodawanie ścieżek plików wejściowych tłumaczenia\fR
.IX Subsection "Podawanie ścieżek plików wejściowych tłumaczenia"
.PP
\fIAutomatyczne wykrywanie ścieżek i języków\fR
.IX Subsection "Automatyczne wykrywanie ścieżek i języków"
.PP
\fIOkreślanie dokumentów do przetłumaczenia\fR
.IX Subsection "Określanie dokumentów do przetłumaczenia"
.PP
\fIOkreślanie opcji modułów\fR
.IX Subsection "Określanie opcji modułów"
.PP
\fIPodawanie aliasów\fR
.IX Subsection "Podawanie aliasów"
.PP
\fITryb rozdzielony\fR
.IX Subsection "Tryb rozdzielony"
.SS "\s-1OPCJE\s0"
.IX Subsection "OPCJE"
.SS "PRZYKŁAD"
.IX Subsection "PRZYKŁAD"
.SS "\s-1MANKAMENTY\s0"
.IX Subsection "MANKAMENTY"
.SS "\s-1ZOBACZ\s0 TAKŻE"
.IX Subsection "ZOBACZ TAKŻE"
.SS "\s-1AUTORZY\s0"
.IX Subsection "AUTORZY"
.SS "\s-1PRAWA\s0 \s-1AUTORSKIE\s0 I \s-1LICENCJA\s0"
.IX Subsection "PRAWA AUTORSKIE I LICENCJA"
\fI\fR
.IX Subsection ""
.SH "WPROWADZENIE"
.IX Header "WPROWADZENIE"
Program \fBpo4a\fR odpowiada za aktualizowanie zarówno plików \s-1PO\s0 (żeby
zsynchronizować z oryginalnymi dokumentami), jak i tłumaczonych dokumentów
(żeby zsynchronizować je z plikami \s-1PO\s0). Głównym celem jest uproszczenie
użycia po4a, tak żeby nie trzeba było pamiętać opcji linii poleceń.
.PP
Pozwala także mieszać dokumenty mające różne formaty w tym samym pliku \s-1POT\s0,
tak że można mieć tylko jeden taki plik w projekcie.
.PP
Inne narzędzia pakietu po4a mogą naśladować to zachowanie (na przykład w
Makefile'ach), jednak jest to raczej trudne do wykonania, przerabianie zaś
tych samych skomplikowanych plików Makefile dla każdego projektu używającego
po4a może być męczące.
.PP
Przepływ danych może być podsumowany następująco. Jakakolwiek zmiana w
głównym dokumencie będzie przeniesiona do plików \s-1PO\s0, a wszystkie zmiany w
plikach \s-1PO\s0 (albo ręczne, albo spowodowane przez poprzedni krok) będą
przeniesione do przetłumaczonych dokumentów.
.PP
.Vb 1
\& główny dokument  \-\->  pliki PO  \-\->  tłumaczenia
.Ve
.PP
Przepływ danych w tym narzędziu nie może zostać odwrócony, więc zmiany w
tłumaczeniach są zawsze nadpisane przez zawartość plików \s-1PO\s0. Tak więc nie
można go użyć do skonwertowania istniejących tłumaczeń do systemu
po4a. Proszę przeczytać \fIpo4a\-gettextize\fR\|(1), aby dowiedzieć się, jak
wykonać to zadanie.
.SH "SKŁADNIA PLIKU KONFIGURACYJNEGO"
.IX Header "SKŁADNIA PLIKU KONFIGURACYJNEGO"
Argument (obowiązkowy) jest ścieżką do pliku konfiguracyjnego, który
zostanie użyty. Jego składnia jest prosta i zbliżona do składni plików
konfiguracyjnych używanych przez projekty intl-tools.
.PP
Komentarze w plikach są oznaczane przez znak \*(L"#\*(R". Komentują wszystko, aż do
napotkania końca linii. Linie mogą być kontynuowane przez wycytowanie końca
linii znakiem \*(L"\e\*(R". Wszystkie niepuste linie muszą zaczynać się poleceniem
[], po którym następują jego argumenty. (Wygląda to na trudne, ale mam
nadzieję, że jest raczej łatwe ;) ).
.SS "Określanie języków szablonów"
.IX Subsection "Określanie języków szablonów"
\&\fBUwaga:\fR Zaleca się używanie \fB[po_directory]\fR zamiast \fB[po4a_langs]\fR i
\&\fB[po4a_paths]\fR. Proszę przeczytać akapit \fBAutomatyczne wykrywanie ścieżek
i języków\fR poniżej.
.PP
Jest to nieobowiązkowe polecenie, które może uprościć cały plik
konfiguracyjny i uczynić go bardziej skalowalnym. Należy określić listę
języków, na które dokumenty zostaną przetłumaczone. Jest to bardzo proste:
.PP
.Vb 1
\& [po4a_langs] fr de
.Ve
.PP
Umożliwi to rozszerzenie \fB\f(CB$lang\fB\fR do wszystkich języków podanych w
pozostałej części pliku konfiguracyjnego.
.SS "Podawanie ścieżek plików wejściowych tłumaczenia"
.IX Subsection "Podawanie ścieżek plików wejściowych tłumaczenia"
\&\fBUwaga:\fR Zaleca się używanie \fB[po_directory]\fR zamiast \fB[po4a_langs]\fR i
\&\fB[po4a_paths]\fR. Proszę przeczytać akapit \fBAutomatyczne wykrywanie ścieżek
i języków\fR poniżej.
.PP
Najpierw należy określić, gdzie znajdują się pliki wejściowe tłumacza
(tj. pliki używane przez tłumaczy w czasie ich pracy). Może być to wpisane w
takiej linii:
.PP
.Vb 2
\& [po4a_paths] doc/l10n/project.doc.pot \e
\&              fr:doc/l10n/fr.po de:doc/l10n/de.po
.Ve
.PP
Poleceniem tym jest \fB[po4a_paths]\fR. Pierwszym argumentem jest ścieżka
używanego pliku \s-1POT\s0. Wszystkie kolejne argumenty mają następującą
samotłumaczącą się formę:
.PP
.Vb 1
\&    <język>:<ścieżka do pliku PO dla tego języka>
.Ve
.PP
Jeśli zdefiniowano szablony języków, można zapisać powyższe linie w ten
sposób:
.PP
.Vb 1
\& [po4a_paths] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po
.Ve
.PP
Można także użyć zmiennej \fB\f(CB$master\fB\fR, aby odwołać się do nazwy bazowej
dokumentu. W takim przypadku \fBpo4a\fR użyje trybu rozdzielonego: dla każdego
dokumentu podanego w pliku konfiguracji \fBpo4a\fR zostanie utworzony jeden
plik \s-1POT\s0 i jeden plik \s-1PO\s0 (dla każdego języka). Patrz sekcja \fBTryb
rozdzielony\fR.
.PP
.Vb 1
\& [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po
.Ve
.SS "Automatyczne wykrywanie ścieżek i języków"
.IX Subsection "Automatyczne wykrywanie ścieżek i języków"
Można użyć jeszcze innego polecenia dookreślenia nazwy katalogu
zawierającego pliki \s-1PO\s0 i \s-1POT\s0. Kiedy jest używane, to \fBpo4a\fR wykryje plik
\&\s-1POT\s0 jako jedyny plik \fI*.pot\fR w podanym katalogu. \fBpo4a\fR użyje także listy
plików \fI*.po\fR do określenia listy języków (przez usunięcie rozszerzenia
pliku). Języki te będą użyte w podstawieniach zmiennej \fB\f(CB$lang\fB\fR w dalszej
części pliku konfiguracyjnego.
.PP
Polecenie to nie powinno być używane razem z poleceniami \fB[po4a_langs]\fR lub
\&\fB[po4a_paths]\fR.
.PP
Przed pierwszym użyciem tego polecenia, należy utworzyć pusty plik \s-1POT\s0, tak
aby \fBpo4a\fR mógł poznać jego nazwę.
.PP
.Vb 1
\& [po_directory] po4a/po/
.Ve
.SS "Określanie dokumentów do przetłumaczenia"
.IX Subsection "Określanie dokumentów do przetłumaczenia"
Oczywiście należy podać, które dokumenty są tłumaczone, jaki jest ich format
i gdzie umieścić tłumaczenia. Może to być zrobione za pomocą takich linii:
.PP
.Vb 4
\& [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \e
\&              de:doc/de/mein_kram.sgml
\& [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \e
\&             add_fr:doc/l10n/script.fr.add
.Ve
.PP
Powinno być to zrozumiałe bez dodatkowych wyjaśnień. Proszę zauważyć, że w
drugim wypadku \fIdoc/l10n/script.fr.add\fR jest załącznikiem do francuskiej
wersji tego dokumentu. Dalsze szczegóły na temat załączników można znaleźć w
\&\fIpo4a\fR\|(7).
.PP
Bardziej formalnie, format jest następujący:
.PP
.Vb 2
\& [type: <format>] <główny_doc> (<język>:<przetłumaczony_doc>)* \e
\&                  (add_<język>:<modyfikator>*<ścieżka_do_załącznika>*)
.Ve
.PP
Jeżeli nie podano żadnych modyfikatorów \fIścieżka_do_załącznika\fR jest
ścieżką do pliku załącznika. Modyfikatory są następujące:
.IP "\fB?\fR" 2
.IX Item "?"
Włącza plik \fIścieżka_do_załącznika\fR, jeśli taki plik istnieje. W przeciwnym
wypadku nic nie robi.
.IP "\fB@\fR" 2
.IX Item "@"
\&\fIścieżka_do_załącznika\fR nie jest zwykłym załącznikiem, ale plikiem
zawierającym listę załączników, po jednym w każdej linii. Każdy załącznik
może być poprzedzony modyfikatorem.
.IP "\fB!\fR" 2
.IX Item "!"
Plik \fIścieżka_do_załącznika\fR jest całkowicie ignorowany \- nie jest ładowany
i nie będzie, nawet jeśli pojawia się w późniejszych specyfikacjach
załączników.
.PP
Jeśli zdefiniowano szablony języków, można zapisać powyższe linie w ten
sposób:
.PP
.Vb 2
\& [type: pod] script $lang:doc/$lang/script.1 \e
\&             add_fr:doc/l10n/script.fr.add
.Ve
.PP
Jeśli wszystkie języki mają załączniki o podobnych ścieżkach, można napisać
coś takiego:
.PP
.Vb 2
\& [type: pod] script $lang:doc/$lang/script.1 \e
\&             add_$lang:doc/l10n/script.$lang.add
.Ve
.SS "Określanie opcji modułów"
.IX Subsection "Określanie opcji modułów"
\&\fBpo4a\fR akceptuje opcje, które będą przekazane do modułu. Te opcje są
specyficzne dla modułu i mogą być określone w przełączniku \fB\-o\fR.
.PP
Jeśli jest potrzeba użycia określonej opcji tylko dla jednego dokumentu,
który ma być przetłumaczony, to można to także podać w pliku
konfiguracyjnym. Opcje są wprowadzane słowem kluczowym \fBopt\fR. Jeżeli
argument słowa kluczowego \fBopt\fR zawiera spacje (np. gdy się podaje wiele
opcji lub opcję z argumentem), to musi być ujęty w cudzysłowy. Można także
podać opcje, które będą stosowane tylko do określonego języka, używając
słowa kluczowego \fBopt_\fR\fIjęzyk\fR.
.PP
Tu jest przykład:
 [type:man] data\-05/test2_man.1 \f(CW$lang:tmp\fR/test2_man.$lang.1 \e
            opt:\*(L"\-k 75\*(R" opt_it:\*(L"\-L \s-1UTF\-8\s0\*(R" opt_fr:\-v
.PP
Argumenty mogą zawierać spacje, jeżeli zostaną otoczone pojedynczymi cudzysłowami
lub cytowanymi (tj. poprzedzonymi znakiem \e) podwójnymi cudzysłowami:
 [po4a_alias:man] man opt:\*(L"\-o \e\*(R"mdoc=NAME,SEE ALSO\e\*(L" \-k 20\*(R"
.PP
Aby podać te same opcje dla wielu dokumentów, można użyć aliasów (patrz
poniżej, sekcja \fBPodawanie aliasów\fR).
.PP
Można określić także zbiór opcji dla wszystkich dokumentów określonych
 w pliku konfiguracyjnym:
 [options] opt:\*(L"...\*(R" opt_fr:\*(L"...\*(R"
.SS "Podawanie aliasów"
.IX Subsection "Podawanie aliasów"
Jeśli zachodzi potrzeba podania tej samej opcji w wielu plikach, można
rozważyć zdefiniowania aliasu modułu. Można to zrobić tak:
.PP
[po4a_alias:test] man opt:\*(L"\-k 21\*(R" opt_es:\*(L"\-o debug=splitargs\*(R"
.PP
Powyższe definiuje alias modułu nazwany \fBtest\fR, oparty na module \fBman\fR z
opcją \fB\-k 21\fR stosowaną do wszystkich języków i z opcją \fB\-o
debug-splitargs\fR zastosowaną do tłumaczenia na język hiszpański.
.PP
Alias modułu może być użyty jako zwykły moduł:
.PP
[type:test] data\-05/test2_man.1 \f(CW$lang:tmp\fR/test2_man.$lang.1 \e
            opt_it:\*(L"\-L \s-1UTF\-8\s0\*(R" opt_fr:\-v
.PP
Proszę zauważyć, że można podać dodatkowe opcje osobno dla każdego pliku.
.SS "Tryb rozdzielony"
.IX Subsection "Tryb rozdzielony"
Tryb rozdzielony jest używany, jeżeli w linii \fB[po4a_paths]\fR używana jest
zmienna \fB\f(CB$master\fB\fR.
.PP
W trybie rozdzielonym używane są tymczasowy duży plik \s-1POT\s0 i tymczasowy duży
\&\s-1PO\s0. Pozwala to na współdzielenie tłumaczeń pomiędzy wszystkimi plikami \s-1PO\s0.
.PP
Jeżeli dwa pliki \s-1PO\s0 mają różne tłumaczenia tego samego komunikatu, \fBpo4a\fR
zaznaczy ten komunikat jako niepewny i umieści oba tłumaczenia we wszystkich
plikach \s-1PO\s0, które zawierają ten komunikat. Następnie, jeżeli tłumacz
zaktualizuje tłumaczenie i usunie znacznik niepewności (\*(L"fuzzy\*(R"), to
tłumaczenie tego komunikatu zostanie automatycznie zaktualizowane w każdym
pliku \s-1PO\s0.
.SH "OPCJE"
.IX Header "OPCJE"
.IP "\fB\-k\fR, \fB\-\-keep\fR" 4
.IX Item "-k, --keep"
Minimalny procentowy próg tłumaczeń pozwalający zachować (tj. zapisać) plik
wynikowy (domyślnie: 80). Czyli, domyślnie, aby pliki zostały zapisane,
muszą być przetłumaczone co najmniej w 80%.
.IP "\fB\-h\fR, \fB\-\-help\fR" 4
.IX Item "-h, --help"
Pokazuje krótki komunikat pomocy.
.IP "\fB\-M\fR, \fB\-\-master\-charset\fR" 4
.IX Item "-M, --master-charset"
Kodowanie znaków plików zawierających dokumenty do przetłumaczenia. Proszę
zauważyć, że wszystkie pliki muszą mieć to samo kodowanie znaków.
.IP "\fB\-L\fR, \fB\-\-localized\-charset\fR" 4
.IX Item "-L, --localized-charset"
Kodowanie znaków plików zawierających dokumenty do przetłumaczenia. Proszę
zauważyć, że wszystkie pliki muszą mieć to samo kodowanie znaków.
.IP "\fB\-A\fR, \fB\-\-addendum\-charset\fR" 4
.IX Item "-A, --addendum-charset"
Kodowanie znaków załącznika. Proszę zauważyć, że wszystkie załączniki
powinny mieć to samo kodowanie znaków.
.IP "\fB\-V\fR, \fB\-\-version\fR" 4
.IX Item "-V, --version"
Wyświetla wersję skryptu i kończy działanie.
.IP "\fB\-v\fR, \fB\-\-verbose\fR" 4
.IX Item "-v, --verbose"
Zwiększa gadatliwość programu.
.IP "\fB\-q\fR, \fB\-\-quiet\fR" 4
.IX Item "-q, --quiet"
Zmniejsza gadatliwość programu.
.IP "\fB\-d\fR, \fB\-\-debug\fR" 4
.IX Item "-d, --debug"
Wypisuje informacje przydatne do debugowania.
.IP "\fB\-o\fR, \fB\-\-option\fR" 4
.IX Item "-o, --option"
Dodatkowe opcje przekazywane modułowi formatu. Każda opcja powinna być w
formacie "\fInazwa\fR\fB=\fR\fIwartość\fR". Więcej informacji o dostępnych opcjach i
ich znaczeniu można znaleźć w dokumentacji każdego modułu.
.IP "\fB\-f\fR, \fB\-\-force\fR" 4
.IX Item "-f, --force"
Zawsze generuje pliki \s-1POT\s0 i \s-1PO\s0, nawet jeżeli \fBpo4a\fR uważa to za
niepotrzebne.
.Sp
Domyślne zachowanie (jeśli nie podano \fB\-\-force\fR) jest następujące:
.RS 4
.Sp
.RS 4
Jeżeli plik \s-1POT\s0 już istnieje i jest starszy niż plik z oryginalnym
dokumentem lub plik konfiguracyjny, to jest ponownie generowany. Plik \s-1POT\s0
jest zapisywany do pliku tymczasowego, a \fBpo4a\fR sprawdza, czy rzeczywiście
jest potrzeba jego zmieniania.
.Sp
Ponadto tłumaczenie zostanie ponownie wygenerowane, jeżeli oryginalny
dokument, plik \s-1PO\s0, jeden z załączników lub plik konfiguracyjny są od niego
nowsze. Aby uniknąć prób ponownego generowania tłumaczeń, które są poniżej
zdefiniowanego progu (patrz \fB\-\-keep\fR), można utworzyć plik z rozszerzeniem
\&\fI.po4a\-stamp\fR (patrz \fB\-\-stamp\fR).
.RE
.RE
.RS 4
.Sp
Jeśli jakieś pliki są włączane (include) do oryginalnego dokumentu, należy
użyć flagi \fB\-\-force\fR, ponieważ czasy modyfikacji włączanych plików nie są
brane pod uwagę.
.Sp
Pliki \s-1PO\s0 są zawsze ponownie generowane na podstawie plików \s-1POT\s0 za pomocą
\&\fBmsgmerge \-U\fR.
.RE
.IP "\fB\-\-stamp\fR" 4
.IX Item "--stamp"
Nakazuje programowi \fBpo4a\fR tworzenie plików ze znacznikiem czasowym, jeżeli
tłumaczenie nie zostanie wygenerowane z powodu nieprzekroczenia
zdefiniowanego progu. Pliki znaczników mają nazwę taką jak oczekiwany
przetłumaczony dokument z dodanym rozszerzeniem \fI.po4a\-stamp\fR.
.Sp
Uwaga: Ta opcja aktywuje tworzenie plików \fI.po4a\-stamp\fR. Pliki znaczników,
jeżeli tylko istnieją, to są zawsze używane. Pliki te są usuwane za pomocą
\&\fB\-\-rm\-translations\fR, albo gdy plik zostanie w końcu przetłumaczony.
.IP "\fB\-\-no\-translations\fR" 4
.IX Item "--no-translations"
Nie generuje przetłumaczonych dokumentów, aktualizuje tylko pliki \s-1POT\s0 i \s-1PO\s0.
.IP "\fB\-\-rm\-translations\fR" 4
.IX Item "--rm-translations"
Usuwa przetłumaczone pliki (wymusza \fB\-\-no\-translations\fR).
.IP "\fB\-\-no\-backups\fR" 4
.IX Item "--no-backups"
Od wersji 0.41 ta flaga nic nie robi i może zostać usunięta w kolejnych
wersjach.
.IP "\fB\-\-rm\-backups\fR" 4
.IX Item "--rm-backups"
Od wersji 0.41 ta flaga nic nie robi i może zostać usunięta w kolejnych
wersjach.
.IP "\fB\-\-translate\-only\fR \fIplik_przetłumaczony\fR" 4
.IX Item "--translate-only plik_przetłumaczony"
Tłumaczy tylko podany plik. Może być to użyteczne do przyspieszenia
przetwarzania, gdy plik konfiguracyjny zawiera odwołania do wielu
plików. Proszę zauważyć, że ta opcja nie aktualizuje plików \s-1PO\s0 i \s-1POT\s0. Można
tej opcji użyć wiele razy.
.IP "\fB\-\-variable\fR \fIzmienna\fR\fB=\fR\fIwartość\fR" 4
.IX Item "--variable zmienna=wartość"
Definiuje zmienną, która będzie rozwinięta w pliku konfiguracyjnym
\&\fBpo4a\fR. Każde użycie \fI$(zmienna)\fR zostanie zastąpione przez \fIwartość\fR. Tę
opcję można podać wielokrotnie.
.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\s0\*(R".
.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\s0\*(R".
.IP "\fB\-\-msgmerge\-opt\fR \fIoptions\fR" 4
.IX Item "--msgmerge-opt options"
Dodatkowe opcje przekazywane programowi \fBmsgmerge\fR.
.Sp
Uwaga: \fB\f(CB$lang\fB\fR zostanie zastąpione nazwą bieżącego języka.
.IP "\fB\-\-no\-previous\fR" 4
.IX Item "--no-previous"
Opcja usuwa \fB\-\-previous\fR z opcji przekazywanych programowi
\&\fBmsgmerge\fR. Pozwala to na używanie wersji wcześniejszych niż 0.16 pakietu
\&\fBgettext\fR.
.IP "\fB\-\-previous\fR" 4
.IX Item "--previous"
Opcja dodaje \fB\-\-previous\fR do opcji przekazywanych programowi
\&\fBmsgmerge\fR. Wymaga wersji 0.16 lub późniejszej pakietu \fBgettext\fR i jest
domyślnie włączona.
.IP "\fB\-\-srcdir\fR \fIKATALOG_ŹRÓDŁOWY\fR" 4
.IX Item "--srcdir KATALOG_ŹRÓDŁOWY"
Określa katalog bazowy dla wszystkich dokumentów wejściowych podanych w
pliku konfiguracyjnym \fBpo4a\fR.
.IP "\fB\-\-destdir\fR \fI\s-1KATALOG_DOCELOWY\s0\fR" 4
.IX Item "--destdir KATALOG_DOCELOWY"
Określa katalog bazowy dla wszystkich dokumentów wyjściowych podanych w
pliku konfiguracyjnym \fBpo4a\fR.
.SS "PRZYKŁAD"
.IX Subsection "PRZYKŁAD"
Załóżmy, że opiekujemy się programem o nazwie \fBfoo\fR, który zawiera stronę
podręcznika ekranowego \fIman/foo.1\fR napisaną tylko w języku angielskim, i
chcemy dodać tłumaczenia. Pierwszą rzeczą, którą musimy zrobić, jest
utworzenie pliku \s-1POT\s0, niezbędnego do wysłania go do tłumaczy, używając w tym
celu \fIpo4a\-gettextize\fR\|(1).
.PP
W naszym przypadku wywołalibyśmy:
.PP
.Vb 1
\& cd man && po4a\-gettextize \-f man \-m foo.1 \-p foo.pot
.Ve
.PP
Następnie wygenerowany plik należałoby wysłać na odpowiednią listę
dystrybucyjną dotyczącą tłumaczeń lub umieścić na stronach www do pobrania.
.PP
Następnie załóżmy, że otrzymaliśmy trzy tłumaczenia: \fIde.po\fR (wraz z
załącznikiem \fIde.add\fR), \fIsv.po\fR oraz \fIpt.po\fR. Ponieważ nie chcemy
zmieniać plików \fIMakefile\fR za każdym razem, gdy dodawane jest nowe
tłumaczenie, możemy w \fIMakefile\fR'u użyć \fBpo4a\fR z odpowiednim plikiem
konfiguracyjnym \- nazwijmy go \fIpo4a.cfg\fR. W naszym przypadku wyglądałby on
tak:
.PP
.Vb 1
\& [po_directory] man/po4a/po/
\&
\& [type: man] man/foo.1 $lang:man/translated/$lang/foo.1 \e
\&            add_$lang:?man/po4a/add_$lang/$lang.add opt:"\-k 80"
.Ve
.PP
W tym przykładzie założyliśmy, że wygenerowane strony podręcznika ekranowego
(wraz z wszystkimi plikami \s-1PO\s0 i załącznikami) będą przechowywane w katalogu
\&\fIman/translated/$lang/\fR (odpowiednio \fIman/po4a/po/\fR i
\&\fIman/po4a/add_$lang/\fR) poniżej katalogu bieżącego. Tak więc katalog
\&\fIman/po4a/po/\fR zawierałby pliki \fIde.po\fR, \fIpt.po\fR i \fIsv.po\fR, a katalog
\&\fIman/po4a/add_de/\fR zawierałby \fIde.add\fR.
.PP
Proszę zwrócić uwagę na użycie modyfikatora \fB?\fR. Jest potrzebny, ponieważ
załącznik występuje tylko dla tłumaczenia na język niemiecki (\fIde.po\fR).
.PP
Aby zbudować przetłumaczone strony podręcznika, należy (jednokrotnie!) dodać
następującą linię w celu \fBbuild\fR odpowiedniego pliku \fIMakefile\fR:
.PP
.Vb 1
\&        po4a po4a.cfg
.Ve
.PP
Dzięki takiej konfiguracji, nie będzie trzeba zmieniać \fIMakefile\fR'a, gdy
przybędzie nowe tłumaczenie. Jeżeli na przykład zespół francuski przyśle
pliki \fIfr.po\fR i \fIfr.add\fR, to jedyne co trzeba zrobić, to umieścić jest w
katalogach \fIman/po4a/po/\fR i \fIman/po4a/add_fr/\fR \- podczas następnego
budowania programu, tłumaczenia na język francuski zbudują się automatycznie
i zostaną umieszczone w \fIman/translated/fr/\fR.
.PP
Proszę zauważyć, że wciąż będzie potrzebny odpowiedni cel w makefile'u
instalujący przetłumaczone strony podręcznika razem z ich angielską wersją.
.PP
W końcu, jeżeli wygenerowane pliki nie są przechowywane w systemie
kontroli wersji, to należy dodać odpowiednie linie w celu \fBclean\fR, np.:
        \-rm \-rf man/translated
.SH "MANKAMENTY"
.IX Header "MANKAMENTY"
.IP "\(bu" 4
Duplikuje część kodu innych programów \fBpo4a\-\fR\fI*\fR.
.PP
Łata (patch) mile widziana ;)
.SH "ZOBACZ TAKŻE"
.IX Header "ZOBACZ TAKŻE"
\&\fIpo4a\-build\fR\|(1), \fIpo4a\-gettextize\fR\|(1), \fIpo4a\-normalize\fR\|(1),
\&\fIpo4a\-translate\fR\|(1), \fIpo4a\-updatepo\fR\|(1), \fIpo4a\-build.conf\fR\|(5), \fIpo4a\fR\|(7)
.SH "AUTORZY"
.IX Header "AUTORZY"
.Vb 3
\& Denis Barbier <barbier@linuxfr.org>
\& Nicolas François <nicolas.francois@centraliens.net>
\& Martin Quinson (mquinson#debian.org)
.Ve
.SH "PRAWA AUTORSKIE I LICENCJA"
.IX Header "PRAWA AUTORSKIE I LICENCJA"
Copyright 2002\-2012 by \s-1SPI\s0, inc.
.PP
Program jest wolnym oprogramowaniem; można go redystrybuować i/lub
modyfikować zgodnie z warunkami licencji \s-1GPL\s0 (patrz plik \s-1COPYING\s0).
