Provided by: po4a_0.52-1_all 

NAZWA
po4a-runtime - po4a i tłumaczenie komunikatów programów bez użycia Autotools
Wstęp
Z pomocą po4a-build, po4a 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 ./configure.
Używając przykładowych fragmentów pliku Makefile, pakiety mogą bezproblemowowykorzystywać intltool.
Układ
Tłumaczenia dokumentacji NIE powinny używać tego samego katalogu po/ co katalog tłumaczeń komunikatów
programów. Podczas gdy tłumaczenia komunikatów programów mogą używać innych katalogów niż po/, zazwyczaj
prościej jest dostosować się do konwencji.
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 POGUBI 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.
Podczas używania wielu języków, prosimy poeksperymentować z różnymi ustawieniami w po/Makevars, tak żeby
uzyskać wszystkie potrzebne komunikaty w pliku POT.
W szczególności problematyczne może być podanie dwóch języków w po/Makevars. Zamiast:
# Nie rób tego:
XGETTEXT_OPTIONS = -L Perl -L Shell --from-code=iso-8859-1
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 po/POTFILES.in.
The --keywords option can also be useful - see the xgettext(1) documentation.
Wypełnianie katalogu po/
Tak więc należy utworzyć główny katalog po/, a następnie wypełnić go, używając przykładowych plików z
/usr/share/doc/po4a/examples/.
LINGUAS
Must exist, even if empty. Consists of a list of translations - each line not starting with a '#'
must match an existing PO file. E.g. if LINGUAS contains a single line, 'fr', an fr.po file must
exist alongside the LINGUAS file.
$ cat po/LINGUAS
cs
de
fr
$
Zgodnie z konwencją, plik LINGUAS jest posortowany alfabetycznie, jednakże jest to przeprowadzane
ręcznie.
POTFILES.in
Lista plików zawierających komunikaty do przetłumaczenia pochodzące np. ze skryptów. Jeżeli jest
używany katalog po/ najwyższego poziomu, ścieżki powinny być względne w stosunku do głównego
katalogu, a nie w stosunku do katalogu po/.
$ ls -l
myscript.pl
another.pl
foo/support.pl
po/
po/POTFILES.in
$ cat po/POTFILES.in
myscript.pl
another.pl
foo/support.pl
$
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 POD. Tak więc nie będzie problemem wymienienie tego samego
pliku zarówno w po/POTFILES.in, jak i doc/po4a-build.conf
Makevars-perl.example
Jeśli skrypty są skryptami Perla, proszę skopiować ten przykład do pliku po/Makevars, a następnie
dopasować do własnych potrzeb.
Makevars-shell.example
Jeśli skrypty są skryptami powłoki, proszę skopiować ten przykład do pliku po/Makevars, a następnie
dopasować do własnych potrzeb.
po4a-build.make
Proszę skopiować ten przykładowy plik do po/Makefile. Nie powinien wymagać późniejszej edycji,
jednakże może istnieć potrzeba aktualizowania go z /usr/share/doc/po4a/examples/po4a-build.make,
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).
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.
clean:
$(MAKE) -C po/ clean
install:
$(MAKE) -C po/ install DESTDIR=$(DESTDIR)
dist:
$(MAKE) -C po/ pot
(W projekcie korzystającym z Autotools, nastąpiłoby to automatycznie po dodaniu po do wartości zmiennej
"SUBDIRS" value w Makefile.am.)
Utrzymywanie
Tłumaczenie komunikatów skryptów nie jest tak proste jak w po4a-build w tym względzie, że dodanie nowego
tłumaczenia wymaga edycji pliku po/LINGUAS, jednakże aktualizowanie tłumaczenia sprowadza się do
zastąpienia odpowiedniego pliku PO jego nową wersją.
W zależności od sposobu przygotowywania archiwum źródłowego, może być potrzebne wpisanie nowych plików PO
w pliku MANIFEST lub dodanie ich do skryptów generujących archiwum (dotyczy to również po4a-build).
Pliki *.mo lub *.gmo w katalogu po/ można usunąć.
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ć.
AUTORZY
Neil Williams <linux@codehelp.co.uk>
TŁUMACZENIE
Robert Luberda <robert@debian.org>
Narzędzia po4a 2017-08-26 PO4A-RUNTIME(7)