LOCALE::PO4A::TEX.3PM(1)

NAZWA
Locale::Po4a::TeX - convert TeX documents and derivatives from/to PO files

OPIS
Celem projektu po4a ("PO for anything") jest ułatwienie tłumaczeń (oraz, co ciekawsze, zarządzania tłumaczeniami) przy użyciu narzędzi gettext w tych obszarach, gdzie nie były używane, jak na przykład w obszarze dokumentacji.

Locale::Po4a::TeX jest modułem ułatwiającym tłumaczenie dokumentacji w formacie TeX do innych języków [używanych przez ludzi].

Użytkownicy najprawdopodobniej powinni używać modułu LaTeX, który dziedziczy z modułu TeX i zawiera definicję częstych poleceń LaTeX.

TŁUMACZENIE Z POMOCĄ PO4A::TEX
Tego modułu można bezpośrednio użyć do obsługi ogólnych dokumentów w formacie TeX. Podzieli on dokument na mniejsze bloki (akapity, bloki dosłowych tekstów, a nawet jeszcze mniejsze jak tytuły czy indeksy).

There are some options (described in the next section) that can customize this behavior. If this doesn't fit to your document format you're encouraged to write your own derivative module from this, to describe your format's details. See the section WRITING DERIVATE MODULES below, for the process description.

This module can also be customized by lines starting with "% po4a:" in the TeX file. This process is described in the INLINE CUSTOMIZATION section.

OPCJE AKCEPTOWANE PRZEZ MODUŁ
Opcje tego modułu:

debug
    Uaktywnia debugowanie kilku wewnętrznych mechanizmów modułu. Informacje o tym, które części mogą być debugowane, można znaleźć w źródłach.

no_wrap
    Rozdzielona przecinkami lista środowisk, które nie powinny być powtórnie zawijane.

    Proszę zauważyć, że środowiska verbatim i no_wrap się różnią. W blokach verbatim nie są analizowane polecenia ani komentarze.

    Jeżeli środowisko nie było wcześniej zarejestrowane, to po4a założy, że to środowisko nie potrzebuje żadnych parametrów.

exclude_include
    Rozdzielona dwukropkami lista plików, które nie powinny być włączane przez \input i \include.

definitions
    Nazwa pliku zawierającego definicje dla po4a, jak to zdefiniowano w sekcji DOSTOSOWYWANIE ZA POMOCĄ OPCJI W PLIKU ŹRÓDŁOWYM. Można użyć tej opcji, jeśli nie jest możliwe umieszczenie definicja w tłumaczonym dokumencie.

verbatim
    Rozdzielona przecinkami lista środowisk, które powinny być przetwarzane tak, jak zostały podane.

    Jeżeli środowisko nie było wcześniej zarejestrowane, to po4a założy, że to środowisko nie potrzebuje żadnych parametrów.

Use these options to override the default behavior of the defined commands.

DOSTOSOWYWANIE ZA POMOCĄ OPCJI W PLIKU ŹRÓDŁOWYM
Działanie modułu TeX może być zmieniane za pomocą linii zaczynających się od % po4a:, które są interpretowane jako polecenia parsera. Rozpoznawane są następujące polecenia:

% po4a: command polecenie1 alias polecenie2
    Mówi, że argumenty polecenia polecenie1 powinny być traktowane jako argumenty polecenia polecenie2.

% po4a: polecenie polecenie1 parametry
    This describes in detail the parameters of the command1 command. This information will be used to check the number of arguments and their types.

    Polecenie polecenie1 może być poprzedzone przez następujące znaki:

    gwiazdka (*)
        po4a wyciągnie to polecenie z akapitów (jeśli jest umieszczone na początku lub na końcu akapitu). Tłumacze będą musieli wtedy przetłumaczyć te parametry, które są oznaczone jako odpowiednie do tłumaczenia.

    plus (+)
        As for an asterisk, the command will be extracted if it appear at an extremity of a block, but the parameters won't be translated separately. The translator will have to translate the command concatenated to all its parameters. This keeps more context, and is useful for commands with small words in parameter, which can have multiple meanings (and translations).

        Uwaga: w tym przypadku nie trzeba określać, które parametry należy tłumaczyć, ale po4a musi znać typ i liczbę parametrów.

    minus (-)
        W takim wypadku, polecenie nie zostanie wydobyte z żadnego bloku. Ale jeżeli pojawi się samodzielnie w bloku, to tłumaczowi zostaną pokazane tylko te parametry, które zostały zaznaczone jako możliwe do przetłumaczenia. Polecenia te zazwyczaj nie powinny być wydzielane z ich akapitów (aby zachować kontekst), ale nie ma żadnego powodu, żeby męczyć tłumacza nimi, jeśli cały komunikat jest zawarty w takim poleceniu.

    The parameters argument is a set of [] (to indicate an optional argument) or {} (to indicate a mandatory argument). You can place an underscore (_) between these brackets to indicate that the parameter must be translated. For example:
     % po4a: command *chapter [_]{_}

    This indicates that the chapter command has two parameters: an optional (short title) and a mandatory one, which must both be translated. If you want to specify that the href command has two mandatory parameters, that you don't want to translate the URL (first parameter), and that you don't want this command to be separated from its paragraph (which allow the translator to move the link in the sentence), you can use:
     % po4a: command -href {}{_}

    W tym wypadku informacja wskazująca, które argumenty muszą być przetłumaczone jest używana tylko wtedy, gdy akapit jest utworzony tylko z tej komendy href.

% po4a: environment środowisko parametery
    This defines the parameters accepted by the env environment and specifies the ones to be translated. This information is later used to check the number of arguments of the \begin command. The syntax of the parameters argument is the same as described for the others commands. The first parameter of the \begin command is the name of the environment. This parameter must not be specified in the list of parameters. Here are some examples:
     % po4a: environment multicols {}
     % po4a: environment equation

    Tak jak dla poleceń środowisko może być poprzedzone plusem (+), aby wskazać, że polecenie \begin musi być przetłumaczone wraz ze wszystkimi jego argumentami.

% po4a: separator środowisko "wyrażenie_regularne"
    Wskazuje, że środowisko powinno być podzielone zgodnie z podanym wyrażeniem regularnym.

    The regular expression is delimited by quotes. It should not create any back-reference. You should use (?:) if you need a group. It may also need some escapes.

    Na przykład moduł LaTeX używa wyrażenia regularnego "(?:&|\\\\)" , aby osobno przetłumaczyć każdą komórkę tabeli (linie są rozdzielone przez '\\' a komórki przez '&').

    The notion of environment is expanded to the type displayed in the PO file. This can be used to split on "\\\\" in the first mandatory argument of the title command. In this case, the environment is title{#1}.

% po4a: verbatim environment środowisko
    Określa, że środowisko jest środowiskiem dosłownym,tj. takim, w którym wszelkie komentarze i polecenia są ignorowane.

    Jeżeli środowisko nie było wcześniej zarejestrowane, to po4a założy, że to środowisko nie potrzebuje żadnych parametrów.

PRACA Z MODUŁAMI POCHODNYMI

pre_trans
post_trans
add_comment
    Add a string as a comment to be added around the next translated element. This is mostly useful to the texinfo module, as comments are automatically handled in TeX.

translate
    Funkcje opakowujące translate TransTractora filtrami uruchamianymi przed przetwarzaniem i po nim.

    Komentarze akapitu są wstawiane jako komentarz PO dla pierwszego tłumaczonego komunikatu dla tego akapitu.

get_leading_command($buffer)
    Funkcja zwraca:

    Nazwę polecenia
        Jeżeli na początku podanego bufora nie znaleziono żadnego polecenia, tekst będzie pusty. Są brane pod uwagę tylko te polecenia, które można rozdzielić. Hash %separated_command zawiera ich listę.

    Wariant
        Określa użyty wariant. Na przykład gwiazdka (*) może być dodana na końcu sekcji poleceń, aby określić że nie powinny być numerowane. W tym przypadku pole to będzie zawierać "*". Jeśli wariant nie istnieje, pole będzie pustym łańcuchem znaków.

    Tablicę par  (typ argumentu, argument)
        Typem argumentu może być albo "{" (dla argumentów wymaganych), albo "[" (dla argumentów opcjonalnych).

    Pozostały bufor
        Reszta bufora po usunięciu początkowego polecenia i jego argumentów. Jeśli nie znaleziono polecenia, oryginalny bufor jest zwracany niezmieniony w tym polu.

get_trailing_command($buffer)
    To samo co, get_leading_command, ale dla poleceń z końca bufora.

translate_buffer
    Rekurencyjnie tłumaczy bufor, wydzielając z niego początkowe i końcowe polecenia (które powinny być tłumaczone oddzielnie).

    Jeżeli w bieżącym środowisku zmienna %translate_buffer_env zawiera definicję funkcji, to ta funkcja zostanie użyta zamiast translate_buffer() do przetłumaczenia zawartości bufora.

read
    Przeładowanie funkcji read() TransTractora.

read_file
    Rekurencyjnie czyta plik, dodając te pliki włączane, które nie są wymienione w tablicy @exclude_include. Plik włączane są wyszukiwane poleceniem kpsewhich z biblioteki Kpathsea.

    Poza częścią włączania plików, jest to przekopiowane z funkcji read TransTractora.

parse_definition_file
    Procedura parsowania pliku zawierającego dyrektywę po4a (definicje nowych poleceń).

parse_definition_line
    Przetwarza linię definicji w formacie "% po4a: ".

    Dalsze informacje można znaleźć w sekcji DOSTOSOWYWANIE ZA POMOCĄ OPCJI W PLIKU ŹRÓDŁOWYM.

is_closed
parse
docheader

FUNKCJE WEWNĘTRZNE, używane do pisania parserów
Funkcje poleceń i środowiska pobierają następujące argumenty (oraz dodatkowo obiekt $self):

Nazwę polecenia
Wariant
Tablica krotek (typ, argument)
Bieżące środowisko

Pierwsze 3 argumenty są wyodrębniane przez get_leading_command lub get_trailing_command.

Funkcje poleceń i środowiska zwracają tłumaczenia poleceń z jego argumentami i nowe środowisko.

Funkcje środowiska są wywoływane, jeśli znaleziono polecenie \begin. Są one wywoływane z poleceniem \begin i jego argumentami.

Moduł TeX proponuje tylko jedną funkcję poleceń i jedną funkcję środowiska: generic_command i generic_environment.

generic_command uses the information specified by register_generic_command or by adding definition to the TeX file:
 % po4a: command command1 parameters

generic_environment uses the information specified by register_generic_environment or by adding definition to the TeX file:
 % po4a: environment env parameters

Obie funkcje tylko przetłumaczą parametry, które były określone jako możliwe do tłumaczenie (z ""). generic_environment doda nazwę środowiska do stosu środowiska, a generic_command doda nazwę polecenia, po której nastąpi identyfikator parametru (jak {#7} lub [#2]).

STATUS MODUŁU
Moduł powinien być bardziej przetestowany.

Było testowany na książce z dokumentacją Pythona.

LISTA RZECZY DO ZROBIENIA

Automatyczne wykrywanie nowych poleceń
    Moduł TeX mógłby sparsować argumenty nowego polecenia i spróbować odgadnąć liczbę i typy argumentów oraz czy powinny być tłumaczone, czy też nie.

Tłumaczenie separatora środowiska
    Kiedy jako separatora środowiska użyje się \item, to jego argument jest dołączany do następującego łańcucha znaków.

Niektóre polecenia powinny być dodane do stosu środowiska.
    These commands should be specified by couples. This can be used to specify commands beginning or ending a verbatim environment.

Inne
    Różne inne punkty są oznaczone w źródłach jako "TODO", czyli do zrobienia.

ZNANE BŁĘDY
Różne punkty są oznaczone w źródłach jako "FIXME", czyli do poprawienia.

ZOBACZ TAKŻE
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)

AUTORZY
 Nicolas François <nicolas.francois@centraliens.net>

TŁUMACZENIE
 Robert Luberda <robert@debian.org>

PRAWA AUTORSKIE I LICENCJA
Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.

This program is free software; you may redistribute it and/or modify it under the terms of GPL v2.0 or later (see the COPYING file).