Producenci
oprogramowania w różny sposób podchodzą do obsługi języków przez
ich produkty. Nie ma jednego, powszechnie stosowanego standardu tłumaczenia
gier i programów.
Niektórzy dodają do programu opcje umożliwiające wybór jednego z języków,
czasami wręcz zachęcają użytkowników do tworzenia nowych wersji językowych,
niedostępnych w danej chwili.
Inni z kolei pozostawiają sobie monopol na wydawanie zlokalizowanych
wersji, a każdą ingerencję, traktują jako łamanie praw autorskich.
Prawa autorskie. Nie ma chyba większego problemu,
jeżeli plik z wersją językową nie stanowi integralnej części
oryginalnego programu (np. pliki .lng). Natomiast problem się zaczyna,
gdy niezbędna jest modyfikacja oryginalnego pliku programu. Prawo
dopuszcza taką ewentualność jedynie na własny użytek, co wyklucza
legalną publikację w sieci.
Na razie można stosować pewien wybieg, polegający na używaniu tzw.
patcher`ów.
1.Edycja
plików tekstowych. W niektórych aplikacjach
wszystkie teksty ukazujące się na ekranie umieszczone są w oddzielnym
pliku tekstowym (ew. plikach). Nie zawsze one maja rozszerzenie *.txt,
czasem jest to *.lng, *.eng, *.dat, lub inne. Jednym z przykładów może
być Windows Commander, który umożliwia wybór jednego z kilkunastu języków.
Niestety, nie zawsze jest tak dobrze. Często, jeżeli nawet możliwy jest
wybór wersji językowych, nie ma wśród nich wersji polskiej. Aby
naprawić to niedopatrzenie, możemy edytować w/w plik(i) zwykłym
edytorem tekstu np. systemowym Notepadem (zamiast niego polecam dużo
wygodniejszego Metapad`a) i dokonać interesujących nas zmian, tzn.
zamienić słowa obce polskimi.
2.Edycja zasobów. Namiastką standaryzacji min. obsługi wielu języków przez programy
może być wprowadzenie przez Borland`a w Delphi 3 raz w C++ Builder 3
nowej deklaracji: "resourcestring". Wszystkie teksty, obrazki,
muzyka, kursory itp. znajdujące się w obrębie tej deklaracji stają się
w rezultacie zasobami.
Na zasobach można przeprowadzić różne operacje. Można wyciągnąć z
pliku muzyczkę, obrazki, ikony czy kursory. Zajmują się tym tzw.
grabery. Z naszego punktu widzenia, "tłumaczy programów", nie
są to zbyt przydatne narzędzia.
Dużo ciekawiej prezentują się edytory zasobów. Poza
"odzyskiem", oferują znacznie więcej. Dzięki nim istnieje możliwość
podmiany, edycji(!), dodania zasobów. Można zupełnie zmienić wygląd
programu, nie tyko poprzez zmianę grafik/muzyczek w nim zawartych, ale można
również całkowicie przebudować menu, okna dialogowe i (co nas
najbardziej interesuje) podmienić teksty występujące w programie.
Przykładami tak przydatnych programów mogą być: Resource Hacker (free),
Restorator czy Exescope.
Można nimi edytować pliki exe, dll i inne (wykonywalne pliki Win32).
Nie powiedzie się próba edycji w przypadku plików spakowanych jakimś
exe-pakerem.
Na przykład, aby dobrać się do zasobów Metapad`a, trzeba go rozpakować
za pomocą UPX`a.
3.Edycja kodu programu. Jeżeli zawiodą dwie poprzednie
metody, można pokusić się o edycję kodu programu używając jakiegoś
hexedytora (np.Hexworks`a).
Jest to chyba najmniej bezpieczna i wygodna metoda. Również efekty pracy
są zazwyczaj najmniej zadowalające. Przykładem lokalizacji programu tym
sposobem może być gra Heroes Of Might And Magic 2 PL.
Podczas zastępowania angielskich (najczęściej) słów polskimi należy
zwrócić baczną uwagę na to, aby nie przekroczyć długości
oryginalnego tekstu. Grozi to posypaniem się programu przy ponownym
uruchomieniu.
Przy okazji (dotyczy to również pozostałych punktów)...
Tworząc nowe wersje plików, nie zapomnij o zachowaniu kopii oryginału !
4.Programy dedykowane. Niektóre programy obsługują
wiele języków, korzystając z zewnętrznego (zewnętrznych) pliku(ów)
zawierającego bazę wszystkich tekstów występujących w danym
programie.
Bardzo popularne, wśród twórców jest rozszerzenie .lng. Niestety, LNG
nie zawsze znaczy to samo. Czasem jest to plik przechowujący tylko jedną
wersję językową (plik tekstowy WindCommander`a, Opery), czasem jest to
zbiór kilku(nastu) języków (The Bat! lub w innym formacie pliki
utworzone za pomocą programu IML Editor firmy Interkodex ).
Istnieją specjalne programy przeznaczone dla tłumaczy, pozwalające na
tworzenie w/w plików. Często są to małe programy napisane z myślą o
stworzeniu kolejnej wersji językowej do "tego jedynego"
programu, ew. tych paru, które potrafią obsłużyć dany format
(wspomniany wyżej IML).
5.Programy uniwersalne. Istnieją bardziej uniwersalne
narzędzia, bazujące na zasobach tekstowych. Korzystają ze słowników,
posiadają wiele opcji ułatwiających tłumaczenie. Niektóre z nich umożliwiają
import tłumaczeń ze zlokalizowanych już programów, wpomagają
wykrywanie błędów, umożliwiają graficzną edycję okienek.
Przykładami takich progrmów mogą być: Visual Localize i RC-WinTrans.
Trochę
inną grupę stanowią narzędzia potrafiące sobie poradzić z programami
stworzonymi w Delphi lub C++ Builder. Umożliwiają one utworzenie zewnętrznych
plików z wersją językową. Pliki te, w zależności od języka, mają różne
rozszerzenia. Podczas uruchamiania się przetłumaczonego programu, na
podstawie ustawień regionalnych Windows jest wykrywany odpowiedni plik językowy
i automatycznie zostaje użyty.
Przykładowe programy: Language Localizator i Helicon Translator.
6.LingoWare. LingoWare stanowi przykład zupełnie
innego podejścia do lokalizacji oprogramowania, mimo, że również
bazuje na zasobach. Poprzednio opisane metody zakładały konieczność
obsługi przez tłumaczony program zewnętrznych plików językowych lub
wymagały ingerencji w "ciało" programu. Niektóre programy nie
obsługują plików językowych, a wykrywają wszelkie zmiany w swoim
kodzie (np. Teleport Pro). W takich przypadkach właśnie LingoWare może
stanowić rozwiązanie problemu.
Program ten, działając w tle, na podstawie specjalnych słowników,
podmienia oryginalne teksty. W każdej chwili można przełączyć między
wersją oryginalną, a przetłumaczoną. LW umożliwia również prostą
edycję tekstów widocznych na ekranie.
Aby przetłumaczyć cały program, najlepiej zaopatrzyć się w
LingoWareEditor.
Na stronie producenta dostępne są słowniki do takich programów jak ICQ,
Gozzilla,... Niestety, gdy ostatnio tam byłem, nie było słowników z
polskimi tekstami. [ PORTAL24H ]