Locale::Po4a::Po.3pm

Autres langues

Langue: pl

Version: 2009-02-26 (fedora - 06/07/09)

Section: 3 (Bibliothèques de fonctions)

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');
 
     # WyciXgniXcie tXumaczenia
     $pofile->gettext("Hello"); # zwraca 'bonjour'
 
     # Zapisanie z powrotem do pliku
     $pofile->write('inny_plik.po');
 
 

OPIS

Locale::Po4a::Po jest moduXem pozwalajXcym manipulowaX katalogami wiadomoXci. MoXna zaXadowaX i zapisaX plik po (ktorego rozszerzeniem czXsto jest po), moXna zbudowaX nowe wpisy w locie albo zaXXdaX przetXumaczenia komunikatu.

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

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

OPCJE AKCEPTOWANE PRZEZ TEN MODUX

porefs
OkreXla format odnoXnika. MoXe to byX: ``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 byX zaXadowany.
read($)
Czyta plik po (o nazwie podanej jako argument). WczeXniej istniejXce wpisy nie sX usuwane, a nowe wpisy sX dodawane na koXcu 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 bXdzie porownany z istniejXcym plikiem, aby sprawdziX, czy aktualizacja jest rzeczywiXcie potrzebna (pozwala to uniknXX zmieniania pliku POT tylko po to, by zaktualizowaX 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? podrXcznika po4a(7).
filter($)
Funkcja wyodrXbnia katalog wiadomoXci z istniejXcego katalogu. W pliku wynikowym bXdX umieszczone tylko te wpisy, do ktorych istnieje odniesienie w podanym pliku.

Funkcja przetwarza swoje argumenty, generuje z nich definicjX funkcji Perla, ewaluuje tX definicjX i filtruje pola, dla ktorych ta wygenerowana funkcja zwroci wartoXX 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 (wartoXX ``CHARSET'') albo gdy jest ono ustawione na utf-8 lub ascii.

Funkcje uXywajXce katalogu wiadomoXci do tXumaczeX

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

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

wrap
wartoXX 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 byX zawijany (domyXlnie: 76).
stats_get()
Zwraca statystyki dotyczXce stosunku trafieX od ostatniego wywoXania funkcji stats_clear(). ProszX zauwaXyX, 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 uXyX 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 byX przekazane w hashu. DostXpne klucze:
msgid
XaXcuch znakow w oryginalnym jXzyku.
msgstr
tXumaczenie.
reference
wskazanie, gdzie dany komunikat zostaX znaleziony. PrzykXad plik.c:46 (w linii 46 pliku ``plik.c''). W razie wielokrotnych wystXpieX moXe byX to lista rozdzielona znakami spacji.
comment
komentarz dodany tutaj rXcznie (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 znaleXX w dokumentacji pakietu gettext.

type
Jest to w wiXkszoXci argument wewnXtrzny 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 mieX pewnoXX, 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 koXczy siX bXXdem.

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

wrap
wartoXX logiczna, okreXlajXca, czy biaXe znaki mogX byX scalane. JeXli tak, komunikat przed uXyciem bXdzie ujednolicony.

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

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

Ta informacja nie jest zapisywana w pliku po.

RoXne funkcje

count_entries()
Zwraca liczbX wpisow w katalogu (nie liczXc nagXowka).
count_entries_doc()
Zwraca liczbX wpisow w dokumencie. Komunikaty pojawiajXce siX wiele razy w tym dokumencie bXdX policzone wiele razy.
msgid($)
Zwraca msgid o zadanym numerze.
msgid_doc($)
Zwraca msgid znajdujXce siX w dokumencie na podanej pozycji.
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 wartoXX okreXlonX przez pierwszy argument. JeXli ta funkcja nie zostanie nigdy wywoXana (i nie bXdzie przeczytany Xaden plik majXcy podane kodowanie znakow), zostanie pozostawiona domyXlna wartoXX, czyli ``CHARSET''. Ta wartoXX 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>