PO4A(1p)

NAZWA
po4a - aktualizowanie w jednym przebiegu zarowno plikow po, jak i przetXumaczonych dokumentow

SKXADNIA
po4a [-dhvV] <plik_konfiguracyjny>

OPIS
Celem projektu po4a ("po for anything") jest uXatwienie tXumaczen~ (oraz, co ciekawsze, zarzXdzania tXumaczeniami) przy uXyciu narzedzi gettext w tych obszarach, gdzie nie byXy uXywane, jak na przykXad w obszarze dokumentacji.

Program "po4a" odpowiada za aktualizowanie zarowno plikow po (Xeby zsynchronizowaae z oryginalnymi dokumentami), jak i tXumaczonych dokumentow (Xeby zsynchronizowaae je z plikami po). GXownym celem jest uproszczenie uXycia po4a, tak Xeby nie trzeba byXo pamietaae opcji linii polecen~.

Pozwala takXe mieszaae dokumenty majXce roXne formaty w tym samym pliku pot, tak Xe moXna mieae tylko jeden taki plik w projekcie.

Inne narzedzia pakietu po4a mogX naXladowaae to zachowanie (na przykXad w makefile'ach), jednak jest to raczej trudne do wykonania, przerabianie zaX tych samych skomplikowanych plikow makefile dla kaXdego projektu uXywajXcego po4a moXe byae meczXce.

PrzepXyw danych moXe byae podsumowany nastepujXco. Jakakolwiek zmiana w gXownym dokumencie bedzie przeniesiona do plikow po, a wszystkie zmiany w plikach po (albo reczne, albo spowodowane przez poprzedni krok) bedX przeniesione do przetXumaczonych dokumentow.

 gXowny dokument  -->  pliki po  -->  tXumaczenia

PrzepXyw danych w tym narzedziu nie moXe zostaae odwrocony, wiec zmiany w tXumaczeniach sX zawsze nadpisane przez zawartoXae plikow po. Tak wiec nie moXna go uXyae do skonwertowania istniejXcych tXumaczen~ do systemu po4a. Prosze przeczytaae po4a-gettextize(1), aby dowiedzieae sie, jak wykonaae to zadanie.

SKXADNIA PLIKU KONFIGURACYJNEGO
Argument (obowiXzkowy) jest XcieXkX do pliku konfiguracyjnego, ktory zostanie uXyty. Jego skXadnia jest prosta i zbliXona do skXadni plikow konfiguracyjnych uXywanych przez projekty intl-tools.

Komentarze w plikach sX oznaczane przez znak "#". KomentujX wszystko, aX do napotkania kon~ca linii. Linie mogX byae kontynuowane przez wycytowanie kon~ca linii znakiem "\". Wszystkie niepuste linie muszX zaczynaae sie poleceniem [], po ktorym nastepujX jego argumenty. (WyglXda to na trudne, ale mam nadzieje, Xe jest raczej Xatwe ;) ).

  OkreXlanie jezykow szablonow
Jest to nieobowiXzkowe polecenie, ktore moXe uproXciae caXy plik konfiguracyjny i uczyniae go bardziej skalowalnym. NaleXy okreXliae liste jezykow, na ktore dokumenty zostanX przetXumaczone. Jest to bardzo proste:

 [po4a_langs] fr de

UmoXliwi to rozszerzenie $lang do wszystkich jezykow podanych w pozostaXej czeXci pliku konfiguracyjnego.

  Podawanie XcieXek plikow wejXciowych tXumaczenia
Najpierw naleXy okreXliae, gdzie znajdujX sie pliki wejXciowe tXumacza (tj. pliki uXywane przez tXumaczy w czasie ich pracy). MoXe byae to wpisane w takiej linii:

 [po4a_paths] doc/l10n/project.doc.pot fr:doc/l10n/fr.po de:doc/l10n/de.po

Poleceniem tym jest "po4a_paths". Pierwszym argumentem jest XcieXka uXywanego pliku po. Wszystkie kolejne argumenty majX nastepujXcX samotXumaczXcX sie forme:

    <jezyk>:<XcieXka do pliku po dla tego jezyka>

JeXli zdefiniowano szablony jezykow, moXna zapisaae powyXsze linie w ten sposob:

 [po4a_paths] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po

  OkreXlanie dokumentow do przetXumaczenia
OczywiXcie naleXy podaae, ktore dokumenty sX tXumaczone, jaki jest ich format i gdzie umieXciae tXumaczenia. MoXe to byae zrobione za pomocX takich linii:

 [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \
              de:doc/de/mein_cram.sgml
 [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \
             add_fr:doc/l10n/script.fr.add

Powinno byae to zrozumiaXe bez dodatkowych wyjaXnien~. Prosze zauwaXyae, Xe w drugim wypadku doc/l10n/script.fr.add jest zaXXcznikiem do francuskiej wersji tego dokumentu. Dalsze szczegoXy na temat zaXXcznikow moXna znaleXae w po4a(7).

Bardziej formalnie, format jest nastepujXcy:

 [type: <format>] <gXowny_doc> <jezyk>:<przetXumaczony_doc>* add_<jezyk>:<zaXXcznik>*

JeXli zdefiniowano szablony jezykow, moXna zapisaae powyXsze linie w ten sposob:

 [type: pod] script $lang:doc/$lang/script.1 \
             add_fr:doc/l10n/script.fr.add

JeXli wszystkie jezyki majX zaXXczniki o podobnych XcieXkach, moXna napisaae coX takiego:

 [type: pod] script $lang:doc/$lang/script.1 \
             add_$lang:doc/l10n/script.$lang.add

  OkreXlanie opcji moduXow
po4a akceptuje opcje, ktore bedX przekazane do moduXu. Te opcje sX specyficzne dla moduXu i mogX byae okreXlone w przeXXczniku -o.

JeXli jest potrzeba uXycia okreXlonej opcji tylko dla jednego dokumentu, ktory ma byae przetXumaczony, to moXna to takXe podaae w pliku konfiguracyjnym. Opcje sX wprowadzane sXowem kluczowym opt. JeXeli argument sXowa kluczowego opt zawiera spacje, to musi byae ujety w cudzysXowy (np. gdy sie podaje wiele opcji lub opcje z argumentem). MoXna takXe podaae opcje, ktore bedX stosowane tylko do okreXlonego jezyka, uXywajXc sXowa kluczowego opt_l<jezyk>.

Jest kilka znanych ograniczen~: nie moXna podaae argumentu zawierajXcego spacje lub cudzysXow w opcji moduXu.

Tu jest przykXad:
 [type:man] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
            opt:"-k 75" opt_it:"-L UTF-8" opt_fr:-v

  Podawanie aliasow
JeXli zachodzi potrzeba podania tej samej opcji w wielu plikach, moXna rozwaXyae zdefiniowania aliasu moduXu. MoXna to zrobiae tak:

[po4a_alias:test] man opt:"-k 21" opt_es:"-o debug=splitargs"

PowyXsze definiuje alias moduXu nazwany test, oparty na module man z opcjX -k 21 stosowanX do wszystkich jezykow i z opcjX -o debug-splitargs zastosowanX do tXumaczenia na jezyk hiszpan~ski.

Alias moduXu moXe byae uXyty jako zwykXy moduX:

[type:test] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
            opt_it:"-L UTF-8" opt_fr:-v

Prosze zauwaXyae, Xe moXna podaae dodatkowe opcje osobno dla kaXdego pliku.

OPCJE

-k, --keep
    Minimalny procentowy prog tXumaczen~ pozwalajXcy zachowaae (tj. zapisaae) plik wynikowy (domyXlnie: 80). Czyli, domyXlnie, aby pliki zostaXy zapisane, muszX byae przetXumaczone co najmniej w 80%.

-h, --help
    Pokazuje krotki komunikat pomocy.

-M, --master-charset
    Kodowanie znakow plikow zawierajXcych dokumenty do przetXumaczenia. Prosze zauwaXyae, Xe wszystkie pliki muszX mieae to samo kodowanie znakow.

-L, --localized-charset
    Kodowanie znakow plikow zawierajXcych dokumenty do przetXumaczenia. Prosze zauwaXyae, Xe wszystkie pliki muszX mieae to samo kodowanie znakow.

-A, --addendum-charset
    Kodowanie znakow zaXXcznika. Prosze zauwaXyae, Xe wszystkie zaXXczniki powinny mieae to samo kodowanie znakow.

-V, --version
    WyXwietla wersje skryptu i kon~czy dziaXanie.

-v, --verbose
    Zwieksza gadatliwoXae programu.

-q, --quiet
    Zmniejsza gadatliwoXae programu.

-d, --debug
    Wypisuje informacje przydatne do debugowania.

-f, --force
    Zawsze generuje pliki POT i PO, nawet jeXeli po4a uwaXa to za niepotrzebne.

    DomyXlne zachowanie (jeXli nie podano --force) jest nastepujXce:

        JeXeli plik POT juX istnieje i jest starszy niX plik z oryginalnym dokumentem, to jest on ponownie generowany. Plik POT jest zapisywany do pliku tymczasowego, a po4a sprawdza, czy rzeczywiXcie jest potrzeba jego zmieniania.

        Ponowne generowanie plikow PO jest zaleXne od pola POT-Creation-Date plikow POT i PO.

--no-translations
    Nie generuje przetXumaczonych dokumentow, aktualizuje tylko pliki POT i PO.

--rm-translations
    Usuwa przetXumaczone pliki (wymusza --no-translations).

--no-backups
    Nie generuje plikow zapasowych .po~.

--rm-backups
    Usuwa kopie zapasowe .po~ (wymusza --no-backups).

--variable zmienna=wartoXae
    Definiuje zmiennX, ktora bedzie rozwinieta w pliku konfiguracyjnym po4a. KaXde uXycie $(zmienna) zostanie zastXpione przez wartoXae. Te opcje moXna podaae wielokrotnie.

MANKAMENTY

•   Duplikuje czeXae kodu innych programow po4a-*.

Xata (patch) mile widziana ;)

ZOBACZ TAKXE
po4a(7), po4a-gettextize(1), po4a-updatepo(1), po4a-translate(1), po4a-normalize(1).

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

TXUMACZENIE
 Robert Luberda <robert@debian.org>

PRAWA AUTORSKIE I LICENCJA
Copyright 2002, 2003, 2004 by SPI, inc.

Program jest wolnym oprogramowaniem; moXna go redystrybuowaae i/lub modyfikowaae zgodnie z warunkami licencji GPL (patrz plik COPYING).