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>