Provided by: po4a_0.52-1_all bug

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)