blib::man::Po(3pm)

NAZWA
Locale::Po4a::Po - moduX manipulujXcy plikami po

SKXADNIA
    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');

    # WyciXgniecie tXumaczenia
    $pofile->gettext("Hello"); # zwraca 'bonjour'

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

OPIS
Locale::Po4a::Po jest moduXem pozwalajXcym manipulowaae katalogami wiadomoXci. MoXna zaXadowaae i zapisaae plik po (ktorego rozszerzeniem czesto jest po), moXna zbudowaae nowe wpisy w locie albo zaXXdaae przetXumaczenia komunikatu.

Bardziej caXoXciowy opis katalogow wiadomoXci w formacie po i ich uXycia moXna znaleXae w dokumentacji programu gettext.

Ten moduX jest czeXciX projektu PO4A, ktorego celem jest uXycie plikow po (z zaXoXenia przeznaczonych do uXatwienia tXumaczenia komunikatow programu) do tXumaczenia wszystkiego, wXXczajXc dokumentacje (strony podrecznika man, strony info), opisy pakietow, szablony debconfa i wszystkiego, co moXe korzystaae z tego.

OPCJE AKCEPTOWANE PRZEZ TEN MODUX

porefs
    OkreXla format odnoXnika. MoXe to byae: "none" - nie dodaje Xadnych odnoXnikow, "noline" - nie dodaje numeru linii, "full" - dodaje kompletne odnoXniki.

Funkcje caXego katalogu wiadomoXci

new()
    Tworzy nowy katalog wiadomoXci. JeXli podano argument, jest on nazwX pliku po, ktory powinien byae zaXadowany.

read($)
    Czyta plik po (o nazwie podanej jako argument). WczeXniej istniejXce wpisy nie sX usuwane, a nowe wpisy sX dodawane na kon~cu katalogu.

write($)
    Zapisuje bieXXcy katalog do podanego pliku.

write_if_needed($$)
    Podobne do write, ale jeXeli pliki PO lub POT juX istniejX, to wynik zostanie zapisany do pliku tymczasowego, ktory bedzie porownany z istniejXcym plikiem, aby sprawdziae, czy aktualizacja jest rzeczywiXcie potrzebna (pozwala to uniknXae zmieniania pliku POT tylko po to, by zaktualizowaae odnoXniki lub pole POT-Creation-Date).

gettextize($$)
    Funkcja tworzy jeden katalog przetXumaczonych wiadomoXci z dwoch katalogow - oryginaXu i tXumaczenia. Proces tej jest opisany w sekcji Proces przeksztaXcania do formatu gettext: jak to dziaXa? podrecznika po4a(7).

filter($)
    Funkcja wyodrebnia katalog wiadomoXci z istniejXcego katalogu. W pliku wynikowym bedX umieszczone tylko te wpisy, do ktorych istnieje odniesienie w podanym pliku.

    Funkcja przetwarza swoje argumenty, generuje z nich definicje funkcji Perla, ewaluuje te definicje i filtruje pola, dla ktorych ta wygenerowana funkcja zwroci wartoXae true.

    Czasami uwielbiam Perla ;)

to_utf8()
    Zmienia kodowanie wpisow msgstr pliku po do utf-8. Nic nie robi, jeXli w pliku po nie jest podane kodowanie znakow (wartoXae "CHARSET") albo gdy jest ono ustawione na utf-8 lub ascii.

Funkcje uXywajXce katalogu wiadomoXci do tXumaczen~

gettext($%)
    XXda przetXumaczenia przez bieXXcy katalog komunikatu podanego jako argument. JeXli nie znaleziono tXumaczenia, funkcja zwroci oryginalny (nieprzetXumaczony) komunikat.

    Po komunikacie do przetXumaczenia moXna przekazaae hasha z dodatkowymi argumentami. PoniXej podano poprawne wpisy:

    wrap
        wartoXae logiczna, okreXlajXca, czy biaXe znaki w tekXcie majX znaczenie. JeXli tak, to funkcja kanonizuje tekst przed wyszukaniem tXumaczenia oraz zawija tekst wynikowy.

    wrapcol
        Kolumna, w ktorej tekst powinien byae zawijany (domyXlnie: 76).

stats_get()
    Zwraca statystyki dotyczXce stosunku trafien~ od ostatniego wywoXania funkcji stats_clear(). Prosze zauwaXyae, Xe to nie sX te same statystyki, ktore wypisuje msgfmt --statistic. Tutaj, statystyki dotyczX bieXXcego uXycia pliku po, a msgfmt podaje stan pliku. PrzykXad uXycia:

        [klika uXyae pliku po do tXumaczenia rzeczy]

        ($percent,$hit,$queries) = $pofile->stats_get();
        print "Do tej pory znaleXliXmy tXumaczenia $percent\% ($hit z $queries) komunikatow.\n";

stats_clear()
    CzyXci statystyki dotyczXce trafienia gettexta.

Funkcje budujXce katalog wiadomoXci

push(%)
    Dodaje nowy wpis na koniec bieXXcego katalogu. Argumenty powinny byae przekazane w hashu. Dostepne klucze:

    msgid
        Xan~cuch znakow w oryginalnym jezyku.

    msgstr
        tXumaczenie.

    reference
        wskazanie, gdzie dany komunikat zostaX znaleziony. PrzykXad plik.c:46 (w linii 46 pliku "plik.c"). W razie wielokrotnych wystXpien~ moXe byae to lista rozdzielona znakami spacji.

    comment
        komentarz dodany tutaj recznie (przez tXumaczy). Format jest dowolny.

    automatic
        komentarz dodany automatycznie przez program wyciXgajXcy komunikaty. SzczegoXy 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 moXna znaleXae w dokumentacji pakietu gettext.

    type
        Jest to w wiekszoXci argument wewnetrzny uXywany podczas przeksztaXcania dokumentow do formatu gettext. IdeX jest przetworzenie do obiektu po zarowno oryginaXu, jak i tXumaczenia, scalenie ich, uXywajXc msgid jednego jako msgstr drugiego i msgid drugiego jako msgstr pierwszego. Aby mieae pewnoXae, Xe wszystko jest OK, kaXdy msgid w obiekcie ma przypisany typ, oparty na strukturze dokumentu (jak "chap", "sect1", "p" w formacie docbook). JeXli typy komunikatow nie sX takie same, oznacza to, Xe struktura obu plikow jest roXna i proces kon~czy sie bXedem.

        Ta informacja jest zapisywana jako automatyczny komentarz w pliku po, poniewaX dostarcza tXumaczom kontekstu o komunikatach, ktore tXumaczX.

    wrap
        wartoXae logiczna, okreXlajXca, czy biaXe znaki mogX byae scalane. JeXli tak, komunikat przed uXyciem bedzie ujednolicony.

        Ta informacja jest zapisywana do pliku po z uXyciem flagi "wrap" lub "no-wrap".

    wrapcol
        Kolumna, w ktorej tekst powinien byae zawijany (domyXlnie: 76).

        Ta informacja nie jest zapisywana w pliku po.

RoXne funkcje

count_entries()
    Zwraca liczbe wpisow w katalogu (nie liczXc nagXowka).

msgid($)
    Zwraca msgid o zadanym numerze.

get_charset()
    Zwraca kodowanie znakow okreXlone w nagXowku pliku po. JeXli nie zostaXo ustawione, to zwraca tekst "CHARSET".

set_charset($)
    Ustawia kodowanie znakow nagXowka pliku po na wartoXae okreXlonX przez pierwszy argument. JeXli ta funkcja nie zostanie nigdy wywoXana (i nie bedzie przeczytany Xaden plik majXcy podane kodowanie znakow), zostanie pozostawiona domyXlna wartoXae, czyli "CHARSET". Ta wartoXae nie zmienia zachowania moduXu, jest uXywana tylko do wypeXnienia odpowiedniego pola nagXowka; zostanie takXe zwrocona przez get_charset().

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

TXUMACZENIE
 Robert Luberda <robert@debian.org>

POD ERRORS
Hey! The above document had some coding errors, which are explained below:

Around line 63:
    You forgot a '=back' before '=head1'