Provided by: po4a_0.33.3-1_all bug

NAZWA

       Locale::Po4a::Po - moduł manipulujący plikami po

SKŁADNIA

           use Locale::Po4a::Po;
           my $pofile=Locale::Po4a::Po->new();

           # Czytanie pliku po
           $pofile->read('plik.po');

           # Dodanie wpisu
           $pofile->push('msgid' => 'Hello', 'msgstr' => 'bonjour',
                         'flags' => "wrap", 'reference'=>'file.c:46');

           # Wyciągnięcie tłumaczenia
           $pofile->gettext("Hello"); # zwraca 'bonjour'

           # Zapisanie z powrotem do pliku
           $pofile->write('inny_plik.po');

OPIS

       Locale::Po4a::Po jest modułem pozwalającym manipulować katalogami
       wiadomości. Można załadować i zapisać plik po (którego rozszerzeniem
       często jest po), można zbudować nowe wpisy w locie albo zażądać
       przetłumaczenia komunikatu.

       Bardziej całościowy opis katalogów wiadomości w formacie po i ich
       użycia można znaleźć w dokumentacji programu gettext.

       Ten moduł jest częścią projektu PO4A, którego celem jest użycie plików
       po (z założenia przeznaczonych do ułatwienia tłumaczenia komunikatów
       programu) do tłumaczenia wszystkiego, włączając dokumentację (strony
       podręcznika man, strony info), opisy pakietów, szablony debconfa i
       wszystkiego, co może korzystać z tego.

OPCJE AKCEPTOWANE PRZEZ TEN MODUŁ

       porefs
           Określa format odnośnika. Może to być: "none" - nie dodaje żadnych
           odnośników, "noline" - nie dodaje numeru linii, "full" - dodaje
           kompletne odnośniki.

Funkcje całego katalogu wiadomości

       new()
           Tworzy nowy katalog wiadomości. Jeśli podano argument, jest on
           nazwą pliku po, który powinien być załadowany.

       read($)
           Czyta plik po (o nazwie podanej jako argument). Wcześniej
           istniejące wpisy nie są usuwane, a nowe wpisy są dodawane na końcu
           katalogu.

       write($)
           Zapisuje bieżący katalog do podanego pliku.

       write_if_needed($$)
           Podobne do write, ale jeżeli pliki PO lub POT już istnieją, to
           wynik zostanie zapisany do pliku tymczasowego, który będzie
           porównany z istniejącym plikiem, aby sprawdzić, czy aktualizacja
           jest rzeczywiście potrzebna (pozwala to uniknąć zmieniania pliku
           POT tylko po to, by zaktualizować odnośniki lub pole
           POT-Creation-Date).

       gettextize($$)
           Funkcja tworzy jeden katalog przetłumaczonych wiadomości z dwóch
           katalogów - oryginału i tłumaczenia. Proces tej jest opisany w
           sekcji Proces przeksztacania do formatu gettext: jak to dziaa?
           podręcznika po4a(7).

       filter($)
           Funkcja wyodrębnia katalog wiadomości z istniejącego katalogu. W
           pliku wynikowym będą umieszczone tylko te wpisy, do których
           istnieje odniesienie w podanym pliku.

           Funkcja przetwarza swoje argumenty, generuje z nich definicję
           funkcji Perla, ewaluuje tę definicję i filtruje pola, dla których
           ta wygenerowana funkcja zwróci wartość true.

           Czasami uwielbiam Perla ;)

       to_utf8()
           Zmienia kodowanie wpisów msgstr pliku po do utf-8. Nic nie robi,
           jeśli w pliku po nie jest podane kodowanie znaków (wartość
           "CHARSET") albo gdy jest ono ustawione na utf-8 lub ascii.

Funkcje używające katalogu wiadomości do tłumaczeń

       gettext($%)
           Żąda przetłumaczenia przez bieżący katalog komunikatu podanego jako
           argument. Jeśli nie znaleziono tłumaczenia, funkcja zwróci
           oryginalny (nieprzetłumaczony) komunikat.

           Po komunikacie do przetłumaczenia można przekazać hasha z
           dodatkowymi argumentami. Poniżej podano poprawne wpisy:

           wrap
               wartość logiczna, określająca, czy białe znaki w tekście mają
               znaczenie. Jeśli tak, to funkcja kanonizuje tekst przed
               wyszukaniem tłumaczenia oraz zawija tekst wynikowy.

           wrapcol
               Kolumna, w której tekst powinien być zawijany (domyślnie: 76).

       stats_get()
           Zwraca statystyki dotyczące stosunku trafień od ostatniego
           wywołania funkcji stats_clear(). Proszę zauważyć, że to nie są te
           same statystyki, które wypisuje msgfmt --statistic. Tutaj,
           statystyki dotyczą bieżącego użycia pliku po, a msgfmt podaje stan
           pliku. Przykład użycia:

               [klika użyć pliku po do tłumaczenia rzeczy]

               ($percent,$hit,$queries) = $pofile->stats_get();
               print "Do tej pory znaleźliśmy tłumaczenia $percent\% ($hit z $queries) komunikatów.\n";

       stats_clear()
           Czyści statystyki dotyczące trafienia gettexta.

Funkcje budujące katalog wiadomości

       push(%)
           Dodaje nowy wpis na koniec bieżącego katalogu. Argumenty powinny
           być przekazane w hashu. Dostępne klucze:

           msgid
               łańcuch znaków w oryginalnym języku.

           msgstr
               tłumaczenie.

           reference
               wskazanie, gdzie dany komunikat został znaleziony. Przykład
               plik.c:46 (w linii 46 pliku "plik.c"). W razie wielokrotnych
               wystąpień może być to lista rozdzielona znakami spacji.

           comment
               komentarz dodany tutaj ręcznie (przez tłumaczy). Format jest
               dowolny.

           automatic
               komentarz dodany automatycznie przez program wyciągający
               komunikaty. Szczegóły w opisie opcji --add-comments programu
               xgettext.

           flags
               rozdzielona spacjami lista wszystkich zdefiniowanych flag dla
               tego wpisu.

               Poprawne flagi: c-text, python-text, lisp-text, elisp-text,
               librep-text, smalltalk-text, java-text, awk-text,
               object-pascal-text, ycp-text, tcl-text, wrap, no-wrap i fuzzy.

               Ich znaczenie można znaleźć w dokumentacji pakietu gettext.

           type
               Jest to w większości argument wewnętrzny używany podczas
               przekształcania dokumentów do formatu gettext. Ideą jest
               przetworzenie do obiektu po zarówno oryginału, jak i
               tłumaczenia, scalenie ich, używając msgid jednego jako msgstr
               drugiego i msgid drugiego jako msgstr pierwszego. Aby mieć
               pewność, że wszystko jest OK, każdy msgid w obiekcie ma
               przypisany typ, oparty na strukturze dokumentu (jak "chap",
               "sect1", "p" w formacie docbook). Jeśli typy komunikatów nie są
               takie same, oznacza to, że struktura obu plików jest różna i
               proces kończy się błędem.

               Ta informacja jest zapisywana jako automatyczny komentarz w
               pliku po, ponieważ dostarcza tłumaczom kontekstu o
               komunikatach, które tłumaczą.

           wrap
               wartość logiczna, określająca, czy białe znaki mogą być
               scalane. Jeśli tak, komunikat przed użyciem będzie
               ujednolicony.

               Ta informacja jest zapisywana do pliku po z użyciem flagi
               "wrap" lub "no-wrap".

           wrapcol
               Kolumna, w której tekst powinien być zawijany (domyślnie: 76).

               Ta informacja nie jest zapisywana w pliku po.

Różne funkcje

       count_entries()
           Zwraca liczbę wpisów w katalogu (nie licząc nagłówka).

       count_entries_doc()
           Zwraca liczbę wpisów w dokumencie. Komunikaty pojawiające się wiele
           razy w tym dokumencie będą policzone wiele razy.

       msgid($)
           Zwraca msgid o zadanym numerze.

       msgid_doc($)
           Zwraca msgid znajdujące się w dokumencie na podanej pozycji.

       get_charset()
           Zwraca kodowanie znaków określone w nagłówku pliku po. Jeśli nie
           zostało ustawione, to zwraca tekst "CHARSET".

       set_charset($)
           Ustawia kodowanie znaków nagłówka pliku po na wartość określoną
           przez pierwszy argument. Jeśli ta funkcja nie zostanie nigdy
           wywołana (i nie będzie przeczytany żaden plik mający podane
           kodowanie znaków), zostanie pozostawiona domyślna wartość, czyli
           "CHARSET". Ta wartość nie zmienia zachowania modułu, jest używana
           tylko do wypełnienia odpowiedniego pola nagłówka; zostanie także
           zwrócona przez get_charset().

AUTORZY

        Denis Barbier <barbier@linuxfr.org>
        Martin Quinson (mquinson#debian.org)

TŁUMACZENIE

        Robert Luberda <robert@debian.org>