Rechercher une page de manuel
Locale::Po4a::Sgml.3pm
Langue: pl
Version: 2010-06-01 (fedora - 01/12/10)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAZWA
Locale::Po4a::Sgml - Konwersja dokumentów sgml z/do plików POOPIS
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::Sgml jest moduÅem uÅatwiajÄ cym tÅumaczenie dokumentacji w formacie SGML do innych jÄzyków [używanych przez ludzi].
ModuÅ ten do przetworzenia plików SGML używa programu nsgmls. ProszÄ siÄ upewniÄ, że program ten wraz z definicjami DTD plików SGMLjest zainstalowany w systemie.
OPCJE AKCEPTOWANE PRZEZ TEN MODUÅ
- debug
- Rozdzielona spacjami lista sÅów kluczowych, okreÅlajÄ ca, którÄ czÄÅÄ chcesz debugowaÄ. Możliwe wartoÅci: tag, generic, entities i refs.
- verbose
- Daje wiÄcej informacji na temat tego, co siÄ dzieje.
- translate
- Rozdzielona spacjami lista dodatkowych elementów (oprócz tych zdefiniowanych w DTD), których zawartoÅÄ powinna utworzyÄ dodatkowy msgid.
- section
- Rozdzielona spacjami lista dodatkowych elementów (oprócz tych zdefiniowanych w DTD), zawierajÄ cych inne elementy, wÅród których istniejÄ elementy naleÅ¼Ä ce do kategorii ``translate''.
- indent
- Rozdzielona spacjami lista elementów, które zwiÄkszajÄ poziom wciÄcia.
- verbatim
- Struktura takich elementów nie powinna byÄ zmieniana. Tekst akapitu nie bÄdzie zawijany i nie zostanÄ dodane żadne kosmetyczne dodatkowe spacje czy znaki nowej linii.
- empty
- Elementy nie muszÄ byÄ zamkniÄte.
- ignore
- Elementy ignorowane i uznawane przez po4a za zwykÅe dane znakowe. MogÄ byÄ one czÄÅciÄ msgid. Na przykÅad <b> jest dobrym kandydatem do tej kategorii, ponieważ dodanie go w sekcji translate stworzyÅoby msgid, nie bÄdÄ ce caÅymi zdaniami, co niewÄ tpliwie jest zÅe.
- attributes
- Rozdzielona spacjami lista atrybutów, które muszÄ byÄ przetÅumaczone. Można okreÅliÄ atrybuty przez ich nazwÄ (na przykÅad ``lang''), ale można także użyÄ hierarchii elementów jako przedrostków, tak aby okreÅliÄ, że ten atrybut bÄdzie przetÅumaczony tylko wtedy, gdy należy do podanego elementu. Na przykÅad: <bbb><aaa>lang okreÅla, że atrybut lang bÄdzie przetÅumaczony tylko wtedy, gdy wystÄpuje w elemencie <aaa>, który z kolei jest zawarty w elemencie <bbb>. Nazwy elementów sÄ tak naprawdÄ wyrażeniami regularnymi, tak wiÄc można przykÅadowo użyÄ <aaa|bbbb>lang do przetÅumaczenia tylko tych atrybutów lang, które sÄ zawarte w elementach <aaa> lub <bbb>.
- qualify
- Rozdzielona spacjami lista atrybutów, których tÅumaczenia muszÄ byÄ ÅÄ czone z nazwÄ atrybutu. ProszÄ zauważyÄ, że ta opcja automatycznie doda podany atrybut do listy ``attributes''.
- force
- Kontynuowanie dziaÅania, nawet gdy DTD nie jest znany lub gdy nsgmls wykryje bÅÄdy w pliku wejÅciowym.
- include-all
- DomyÅlnie, msgid zawierajÄ ce tylko jednÄ encjÄ (jak ``&version;'') sÄ pomijane, zapewniajÄ c komfort tÅumaczowi. Aktywowanie tej opcji uniemożliwia tÄ optymalizacjÄ. Może byÄ jednak użyteczne, gdy dokument zawiera konstrukcje takie, jak ``<title>Á</title>'', choÄ prawdÄ mówiÄ c, wÄ tpiÄ, by takie coÅ siÄ mogÅo kiedykolwiek zdarzyÄ...
- ignore-inclusion
- Rozdzielona spacjami lista encji, które nie bÄdÄ wÅÄ czane. Tej opcji należy używaÄ ostrożnie: może spowodowaÄ, że nsgmls (używany wewnÄtrznie przez ten moduÅ) doda elementy i wygeneruje niepoprawny dokument wyjÅciowy.
STATUS MODUÅU
Wynik jest doskonaÅy. Tj. wygenerowane dokumenty sÄ dokÅadnie takie same. Jednak wciÄ Å¼ jest parÄ problemów:- *
- wyjÅcie bÅÄdów programu nsgmls jest przekierowane do /dev/null, co z pewnoÅciÄ
jest zÅym pomysÅem. Nie wiem, jak temu zapobiec.
Problemem jest to, że musiaÅem ``ochroniÄ'' warunkowe wÅÄ czenia (rzeczy takie jak "<! [ %foo [" i "]]>") w nsgmls. W przeciwnym razie nsgmls je zjada, a nie mam pojÄcia jak je przywróciÄ w koÅcowym dokumencie. Aby temu zapobiec, przepisaÅem je jako {PO4A-beg-coÅ}> i "{PO4A-end}".
Problem z tym jest taki, że "{PO4A-end}" i podobne, które dodam, sÄ poprawne w dokumencie (ale nie w elemencie <p> lub podobnym).
Wszystko dziaÅa dobrze, z takim przekierowaniem wyjÅcia nsgmls. Niestety uniemożliwia nam to wykrycie, że dokument jest źle sformatowany.
- *
- DziaÅa to tylko z dtd debiandoc i docbook. Dodanie obsÅugi nowego dtd powinno byÄ bardzo proste. Mechanizm jest taki sam dla każdego dtd, po prostu należy podaÄ listÄ istniejÄ
cych elementów i ich charakterystykÄ.
Zgadzam siÄ, to wymaga dokÅadniejszej dokumentacji, jednak jest to wciÄ Å¼ wersja beta, a ja nienawidzÄ dokumentowania rzeczy, które siÄ mogÄ zmieniÄ i zmieniÄ .
- *
- Ostrzeżenie: obsÅuga dtd jest caÅkiem eksperymentalna. Nie przeczytaÅem żadnego podrÄcznika, żeby znaleÅºÄ definicje każdego elementu. DodaÅem definicje elementów, które dziaÅajÄ
dla kilku dokumentów znalezionych w sieci. JeÅli Twój dokument używa wiÄcej elementów niż mój, nie bÄdzie dziaÅaÅ. Jak napisaÅem wyżej, poprawienie tego powinno byÄ proste.
TestowaÅem docbook tylko na dokumencie SAG (System Administrator Guide), jednak jest on caÅkiem spory, wiÄc powinien używaÄ wiÄkszoÅci rzeczy specyficznych dla tego formatu.
Dla debiandoc, przetestowaÅem kilka podrÄczników z DDP, ale jeszcze nie wszystkie.
- *
- W razie doÅÄ
czania plików odnoÅniki do komunikatów wiadomoÅci w plikach po (tj. linie jak "#: en/titletoc.sgml:9460") bÄdÄ
niepoprawne.
Dzieje siÄ tak dlatego, że wstÄpnie przetwarzam ten plik, aby ochroniÄ warunkowe wÅÄ czenia (rzeczy takie jak "<! [ %foo [" i "]]>") oraz niektóre encja (jak &version) przed nsgmls ponieważ chcÄ je otrzymaÄ bez zmian w wygenerowanym dokumencie. Dlatego, tworzÄ tymczasowÄ kopiÄ pliku wejÅciowego i na niej robiÄ wszystkie zmiany przed przekazaniem go programowi nsgmls do przetwarzania.
Å»eby to dziaÅaÅo, zamieniam encje proszÄ ce o wÅÄ czenie pliku zawartoÅciÄ podanego pliku (dlatego mogÄ ochroniÄ to, co trzeba, także w plikach wÅÄ czanych). Ale do tej pory nic nie jest robione, aby poprawiÄ później odnoÅniki (tj. nazwÄ pliku i numer linii). Nie jestem pewien, jak można by to najlepiej zrobiÄ.
AUTORZY
ModuÅ jest zaadaptowanÄ wersjÄ sgmlspl (postprocesora SGML parserów SGMLS i NSGMLS), który byÅ:Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca>
Adaptacji do po4a dokonali:
Denis Barbier <barbier@linuxfr.org> Martin Quinson (mquinson#debian.org)
TÅUMACZENIE
Robert Luberda <robert@debian.org>
PRAWA AUTORSKIE I LICENCJA
Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca> Copyright 2002, 2003, 2004, 2005 by SPI, inc.
Program jest wolnym oprogramowaniem; można go redystrybuowaÄ i/lub modyfikowaÄ zgodnie z warunkami licencji GPL (patrz plik COPYING).
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre