Provided by: po4a_0.66-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.

       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)