Provided by: po4a_0.66-1_all 

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.
For a more complete description of message catalogs in the PO format and their use, please refer to the
info documentation of the gettext program (node "`PO Files"').
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 MODUŁ
--porefs type
Specify the reference format. Argument type can be one of never to not produce any reference, file to
only specify the file without the line number, counter to replace line number by an increasing
counter, and full to include complete references (default: full).
--wrap-po no|newlines|number (default: 76)
Specify how the po file should be wrapped. This gives the choice between either files that are nicely
wrapped but could lead to git conflicts, or files that are easier to handle automatically, but harder
to read for humans.
Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This
option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after
this column and after newlines in the content. If set to newlines, po4a will only split the msgid and
msgstr after newlines in the content. If set to no, po4a will not wrap the po file at all. The
reference comments are always wrapped by the gettext tools that we use internally.
Note that this option has no impact on how the msgid and msgstr are wrapped, ie on how newlines are
added to the content of these strings.
--msgid-bugs-address adres@e-mail
Ustawia adres, pod który należy zgłaszać błędy w polach msgid. Domyślnie, utworzone pliki POT nie
zawierają nagłówków Report-Msgid-Bugs-To.
--copyright-holder string
Ustawia właściciela praw autorskich w nagłówku POT. Domyślną wartością jest "Free Software
Foundation, Inc."
--package-name nazwa
Ustawia nazwę pakietu w nagłówku POT. Domyślną wartością jest "PACKAGE".
--package-version wersja
Ustawia wersję pakietu w nagłówku pliku POT. Domyślną wartością jest "VERSION".
Functions concerning entire message catalogs
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 przekształcania do formatu gettext: jak to działa?
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.
equals_msgid(po)
Returns ($uptodate, $diagnostic) with $uptodate indicating whether all msgid of the current po file
are also present in the one passed as parameter (all other fields are ignored in the file
comparison). Informally, if $uptodate returns false, then the po files would be changed when going
through po4a-updatepo.
If $uptodate is false, then $diagnostic contains a diagnostic of why this is so.
msgid($)
Zwraca msgid o zadanym numerze.
msgid_doc($)
Zwraca msgid znajdujące się w dokumencie na podanej pozycji.
get_charset()
Returns the character set specified in the PO header. If it hasn't been set, it will return "UTF-8".
set_charset($)
This sets the character set of the PO header to the value specified in its first argument. If you
never call this function (and no file with a specified character set is read), the default value is
left to "UTF-8". This value doesn't change the behavior of this module, it's just used to fill that
field in the header, and to return it in get_charset().
AUTORZY
Denis Barbier <barbier@linuxfr.org>
Martin Quinson (mquinson#debian.org)
TŁUMACZENIE
Robert Luberda <robert@debian.org>
Narzędzia po4a 2022-01-02 Locale::Po4a::Po(3pm)