.\" 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 "PO4A-RUNTIME 7" .TH PO4A-RUNTIME 7 "2018-06-02" "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" po4a\-runtime \- po4a i tłumaczenie komunikatów programów bez użycia Autotools .SH "Wstęp" .IX Header "Wstęp" Z pomocą \fIpo4a\-build\fR, \fIpo4a\fR wspiera także dodawanie tłumaczeń komunikatów skryptów przy użyciu narzędzi gettext, ale bez wymagania, żeby używane były Autotools i typowy proces \fI./configure\fR. .PP Używając przykładowych fragmentów pliku \fIMakefile\fR, pakiety mogą bezproblemowowykorzystywać \fIintltool\fR. .SH "Układ" .IX Header "Układ" Tłumaczenia dokumentacji \s-1NIE\s0 powinny używać tego samego katalogu \fIpo/\fR co katalog tłumaczeń komunikatów programów. Podczas gdy tłumaczenia komunikatów programów mogą używać innych katalogów niż \fIpo/\fR, zazwyczaj prościej jest dostosować się do konwencji. .SH "Wiele języków programowania" .IX Header "Wiele języków programowania" Słowo o pakietach używających skryptów napisanych w kilku językach programowania. Typowym połączeniem jest używanie Perla i skryptów powłoki. Notabene: gettext \s-1POGUBI\s0 SIĘ i opuści komunikaty z jednego lub drugiego języka, chyba że używane są rozszerzenia plików, co jest rozwiązaniem sprawiającym najmniej problemów. .PP Podczas używania wielu języków, prosimy poeksperymentować z różnymi ustawieniami w \fIpo/Makevars\fR, tak żeby uzyskać wszystkie potrzebne komunikaty w pliku \s-1POT.\s0 .PP W szczególności problematyczne może być podanie dwóch języków w \&\fIpo/Makevars\fR. Zamiast: .PP .Vb 2 \& # Nie rób tego: \& XGETTEXT_OPTIONS = \-L Perl \-L Shell \-\-from\-code=iso\-8859\-1 .Ve .PP Prosimy rozważyć zmianę nazwy (lub utworzenie dowiązań symbolicznych dla) wszystkich plików jednego spośród używanych języków i nie podawać opcji \&\-L. Pliki z odpowiednimi rozszerzeniami muszą istnieć tylko podczas przetwarzania pliku \fIpo/POTFILES.in\fR. .PP Opcja \-\-keywords może być również przydatna \- patrz dokumentacja programu \&\fBxgettext\fR(1). .SH "Wypełnianie katalogu po/" .IX Header "Wypełnianie katalogu po/" Tak więc należy utworzyć główny katalog \fIpo/\fR, a następnie wypełnić go, używając przykładowych plików z \fI/usr/share/doc/po4a/examples/\fR. .IP "\s-1LINGUAS\s0" 4 .IX Item "LINGUAS" Musi występować, nawet jeśli będzie pusty. Zawiera listę tłumaczeń \- każda linia niezaczynająca się od \*(L"#\*(R" musi odpowiadać istniejącemu plikowi \s-1PO,\s0 na przykład jeżeli plik \fI\s-1LINGUAS\s0\fR zawiera pojedynczą linię \*(L"fr\*(R", to obok pliku \&\fI\s-1LINGUAS\s0\fR, musi istnieć plik \fIfr.po\fR. .Sp .Vb 5 \& $ cat po/LINGUAS \& cs \& de \& fr \& $ .Ve .Sp Zgodnie z konwencją, plik \fI\s-1LINGUAS\s0\fR jest posortowany alfabetycznie, jednakże jest to przeprowadzane ręcznie. .IP "\s-1POTFILES\s0.in" 4 .IX Item "POTFILES.in" Lista plików zawierających komunikaty do przetłumaczenia pochodzące np. ze skryptów. Jeżeli jest używany katalog \fIpo/\fR najwyższego poziomu, ścieżki powinny być względne w stosunku do głównego katalogu, a nie w stosunku do katalogu \fIpo/\fR. .Sp .Vb 11 \& $ ls \-l \& myscript.pl \& another.pl \& foo/support.pl \& po/ \& po/POTFILES.in \& $ cat po/POTFILES.in \& myscript.pl \& another.pl \& foo/support.pl \& $ .Ve .Sp Proszę zauważyć, że jest wspierane, by skrypty jednocześnie zawierały tłumaczenia komunikatów wyjściowych i dokumentacji, np. używając funkcji programu gettext do tłumaczenia komunikatów skryptu i osadzonej w nim dokumentacji w formacie \s-1POD.\s0 Tak więc nie będzie problemem wymienienie tego samego pliku zarówno w \fIpo/POTFILES.in\fR, jak i \fIdoc/po4a\-build.conf\fR. .IP "Makevars\-perl.example" 4 .IX Item "Makevars-perl.example" Jeśli skrypty są skryptami Perla, proszę skopiować ten przykład do pliku \&\fIpo/Makevars\fR, a następnie dopasować do własnych potrzeb. .IP "Makevars\-shell.example" 4 .IX Item "Makevars-shell.example" Jeśli skrypty są skryptami powłoki, proszę skopiować ten przykład do pliku \&\fIpo/Makevars\fR, a następnie dopasować do własnych potrzeb. .IP "po4a\-build.make" 4 .IX Item "po4a-build.make" Proszę skopiować ten przykładowy plik do \fIpo/Makefile\fR. Nie powinien wymagać późniejszej edycji, jednakże może istnieć potrzeba aktualizowania go z \fI/usr/share/doc/po4a/examples/po4a\-build.make\fR, jeśli nowe wydanie pakietu po4a zmieni wewnętrzną obsługę intltool (Plik ten został wygenerowany z innego projektu używającego Autotools i intltool). .SH "Budowanie" .IX Header "Budowanie" Poniższe kawałki kodu należy dodać do głównego pliku Makefile albo innego pliku używanego do przygotowywania dystrybuowalnej wersji pakietu źródłowego. .PP .Vb 2 \& clean: \& $(MAKE) \-C po/ clean \& \& install: \& $(MAKE) \-C po/ install DESTDIR=$(DESTDIR) \& \& dist: \& $(MAKE) \-C po/ pot .Ve .PP (W projekcie korzystającym z Autotools, nastąpiłoby to automatycznie po dodaniu \fIpo\fR do wartości zmiennej \f(CW\*(C`SUBDIRS\*(C'\fR value w \fIMakefile.am\fR.) .SH "Utrzymywanie" .IX Header "Utrzymywanie" Tłumaczenie komunikatów skryptów nie jest tak proste jak w \fIpo4a\-build\fR w tym względzie, że dodanie nowego tłumaczenia wymaga edycji pliku \&\fIpo/LINGUAS\fR, jednakże aktualizowanie tłumaczenia sprowadza się do zastąpienia odpowiedniego pliku \s-1PO\s0 jego nową wersją. .PP W zależności od sposobu przygotowywania archiwum źródłowego, może być potrzebne wpisanie nowych plików \s-1PO\s0 w pliku \fI\s-1MANIFEST\s0\fR lub dodanie ich do skryptów generujących archiwum (dotyczy to również \fIpo4a\-build\fR). .PP Pliki \fI*.mo\fR lub \fI*.gmo\fR w katalogu \fIpo/\fR można usunąć. .SH "Copyright" .IX Header "Copyright" Chociaż przykładowe pliki są częścią projektu po4a, można ich dowolnie używać, zmieniać je i dystrybuować we własnych projektach bez dodawania wzmianki o po4a lub wymieniania zespołu po4a w informacji o prawach autorskich, tak samo jak nie ma potrzeby wymieniania tam innych narzędzi używanych do budowania, jak na przykład Automake. Jeśli jednak chcesz wymienić po4a, nikt tego nie może zabronić. .SH "AUTORZY" .IX Header "AUTORZY" .Vb 1 \& Neil Williams .Ve .SH "TŁUMACZENIE" .IX Header "TŁUMACZENIE" .Vb 1 \& Robert Luberda .Ve