Następna strona Poprzednia strona Spis treści

3. Trochę danych techicznych dla tłumaczy.

Wcześniej już zostało wspomniane, że piszemy w formacie SGML. Format ten bardzo przypomina HTML więc jeśli znasz ten ostatni, to nie powinien on ci nastręczać większych trudności. Do konwersji z formatu SGML na inne formaty służy pakiet sgml-tools.

3.1 Krótki minikurs SGML-a.

Wielu z was chce się przyłączyć, ale pisze do mnie, że nie zna SGML-a. No i piszę do każdego litanię wszystkich zasad itp. Żeby tego nie robić postanowiłem zamieścić kilka porad jak z niego korzystać.

To naprawdę nie jest trudne.

3.2 sgml-tools

Więcej informacji o pakiecie sgml-tools można znależć na projektu SGMLTools

Pakiet sgml-tools wywodzi się od dawnego pakietu linuxdoc-sgml. Zmianę nazwy pakietu argumentuje się tym, że poprzednia nazwa wiązała pakiet z Linuxem, co nie bylo zgodne z rzezcywistością. Można go było używać również pod kontrolą innych systemów operacyjnych.

Aktualnie projekt ten jest chwilowo zawieszony, więc z wszelikimi problemami musimy rodzić sobie sami. Aktualne wersje tego pakietu są dwie:

Ponieważ jesteśmy zainteresowani DTD linuxdoc to używamy wersji 1.0.9. Co prawda nie każe używać ci dokładnie tej wersji, ale nie jestem w stanie ci powiedzieć, czy wersja, którą używasz można łatwo przekonać do obsługi polskich tłumaczeń.

3.3 Teraz trochę o konwersji.

Jak już wspomiałem do konwersji z formatu SGML służy pakiet programów sgml-tools. Programy z tego pakietu, których będziesz używał to najprawdopodobniej:

Aby wygenerować poprawne JTZ-ty musisz prawdopodobnie zmodyfikować kilka plików z pakietu sgml-tools. Informacje jak to zrobic znajdzesz poźniej.

Do wygenerowania pięciu głównuch formatów (poza SGML oczywiście) należy wykonać kolejno komendy:


sgml2html -s 0 -l pl nazwa.pl.sgml
sgml2txt -f -c latin nazwa.pl.sgml
sgml2latex -o ps  -p a4 nazwa.pl.sgml
sgml2latex -o dvi -p a4 nazwa.pl.sgml
sgml2latex -o tex -p a4 nazwa.pl.sgml

W powyższym przykładzie zmienna systemowa PLIK oznacza nazwę dokumentu poddawanego konwersji. Jeżeli często przeprowadzasz konwersję do wszystkich formatów polecam napisanie sobie podobnego skryptu.


#!/bin/sh

sgml2html -s 0 $1.pl.sgml
sgml2txt -f -l pl -c latin $1.pl.sgml
sgml2latex -o ps  -p a4 $1.pl.sgml
sgml2latex -o dvi -p a4 $1.pl.sgml
sgml2latex -o tex -p a4 $1.pl.sgml

Aby dokonać konwersji należy wywołać powyższy skrypt z parametrem bedącym nazwą dokumentu SGML (z pominięciem rozszerzeń .pl.sgml)

Oczywiście możesz również eksperymentować z innymi opcjami, ale ten zestaw opcji wydaje się być najwłaściwszy. Opcje te oznaczają:

3.4 Polonizacja pakietu sgml-tools

Instrukcja ta dotyczy wersji 1.0.9-2 pakietu sgml-tools. Informacja ta nie oznacza, że w innych wersjach należy postąpić inaczej Sposób postępowania na pewno nie zmienił się od wersji 1.0.7. Sposób postępowania dla starszych wersji pakietu sgml-tools czy też dla pakietu linuxdoc-sgml (poprzednika pakietu sgml-tools) opisany jest w sekcji historycznej.

Chcemy uzyskiwać poprawne dokumenty w formatach:

Aby poradzić sobie z powyższymi problemami musimy zmodyfikować dwa pliki.

Pierwszy z nich odpowiada za odnośniki w wersjach HTML dokumentów. Jest to plik

/usr/lib/sgml-tools/SGMLTools/Lang.pm
W pliku tym musimy dodać definicję języka polskiego, oraz odpowiednie napisy dla tej definicji.

Drugi z plików jest plikiem odpowiadającym za znaczniki w generowanym pliku w formacie LaTeX. Plikem tym jest

/usr/lib/sgml-tools/dist/linuxdoc/latex2e/mapping
w pliku tym modyfikujemy informację o nagłówku dokumentu LaTeX tworzonego podczas konwersji. Musimy zdefiniować użycie znaków w/g standardu Latin2 oraz języka polskiego.

Aby było łatwiej dokonać te zmiany przygotowałem odpowiedni patch do automatycznego dokonania potrzebnych zmian. Patch ten jest dostępny w sieci ftp://ftp.jtz.org.pl/tools.

Ponieważ niektórzy mogą mieć problem ze ściągnięciem w/w pliku jego zawartość zamieszczam też poniżej:


*** /usr/lib/sgml-tools/SGMLTools/org/Lang.pm   Mon Mar 22 05:29:00 1999
--- /usr/lib/sgml-tools/SGMLTools/Lang.pm       Tue May 18 22:44:50 1999
***************
*** 60,65 ****
--- 60,66 ----
    pt portuges portuguese
    ca catalŕ catalan
    it italiano italian
+   pl polski polish
    ro română romanian
  );
  
***************
*** 164,169 ****
--- 165,171 ----
       "pt" => "Página anterior",
       "ca" => "Pŕgina anterior",
       "it" => "Indietro",
+      "pl" => "Poprzednia",
       "ro" => "Înapoi"
    },
    "Next" => {
***************
*** 177,182 ****
--- 179,185 ----
       "pt" => "Página seguinte",
       "ca" => "Pŕgina següent",
       "it" => "Avanti",
+      "pl" => "Następna",
       "ro" => "Înainte"
    },
    "Contents" => {
***************
*** 190,195 ****
--- 193,199 ----
       "pt" => "Índice",
       "ca" => "Índex",
       "it" => "Indice",
+      "pl" => "Spis treści",
       "ro" => "Cuprins"
    },
    "Table of Contents" => {
***************
*** 203,208 ****
--- 207,213 ----
       "pt" => "Índice geral",
       "ca" => "Índex general",
       "it" => "Indice Generale",
+      "pl" => "Spis treści",
       "ro" => "Cuprins"
    }
  };
*** /usr/lib/sgml-tools/dist/sgmltool/latex2e/org/mapping       Mon Mar 22 05:29:00 1999
--- /usr/lib/sgml-tools/dist/sgmltool/latex2e/mapping   Tue May 18 22:46:28 1999
***************
*** 8,16 ****
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin1\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\addbibtoc{\n"
--- 8,16 ----
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin2\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage\[polish\]{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\addbibtoc{\n"
***************
*** 23,31 ****
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin1\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\addbibtoc{\n"
--- 23,31 ----
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin2\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage\[polish\]{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\addbibtoc{\n"
***************
*** 39,47 ****
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin1\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\addbibtoc{\n"
--- 39,47 ----
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin2\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage\[polish\]{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\addbibtoc{\n"
***************
*** 56,64 ****
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin1\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\title#1{\n"
--- 56,64 ----
                        "\\usepackage{linuxdoc-sgml}\n"
                        "\\usepackage{qwertz}\n"
                        "\\usepackage{url}\n"
!                       "\\usepackage\[latin2\]{inputenc}\n"
                        "\\usepackage{t1enc}\n"
!                       "\\usepackage\[polish\]{babel}\n"
                        "\\usepackage{epsfig}\n"
                        "\\usepackage{[OPTS]}\n"
                        "\\def\\title#1{\n"

Aby wykorzystać ten plik należy wykonać komendę:

patch -p0 < sgml-tools.patch

To jest wszystko co musisz zrobić. Powtórzę jeszcze raz: jedyne operacje jakie musisz wykonać, aby spolonizować sgml-tools 1.09 to:

Jeżeli ktoś jest zainteresowany co dokładnie zostało i dlaczego zmienione to zapraszam do sekcji Technikalia - historia.

3.5 Co mam zrobić jeśli chcę poprawić dokument.

Po pierwsze wszelkie poprawki trzeba nanosić w formacie SGML.

Jeśli znalazłeś literówki, to po prostu popraw je i wyślij poprawioną wersję do tłumacza. Upewnij się przedtem czy masz najnowszą wersję, bo może błędy, które poprawiasz są już poprawione w nowszej wersji.

Jeśli chcesz ingerować w treść dokumentu, to postępuj w/g poniższej instrukcji:


Następna strona Poprzednia strona Spis treści