Provided by: po4a_0.41-1ubuntu1_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.

       Opcja --keywords może być również przydatna - patrz dokumentacja
       programu xgettext.

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
           Musi występować, nawet jeśli będzie pusty. Zawiera listę tłumaczeń
           - każda linia niezaczynająca się od "#" musi odpowiadać
           istniejącemu plikowi PO, na przykład jeżeli plik LINGUAS zawiera
           pojedynczą linię "fr", to obok pliku LINGUAS, musi istnieć plik
           fr.po.

            $ 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>