Autor: Radoslaw Sokol (rsokol_at_iname.com)
Data: Tue 06 Jun 2000 - 17:10:38 MET DST
Hi,
Jacek Osiecki wrote:
>
> >a) co rozumiesz przez "lokalizację programu po ludzku"?
>
> Rozumiem przez to lokalizację całkiem niezależną od plików wykonywalnych.
A czemu? Czy to jest jedyne słuszne rozwiązanie?
> I "dzięki" temu np. muszą być wydawane osobne servicepack-i do różnych
> wersji językowych! Po pierwsze opóźnienie, po drugie trzeba ciągnąć dużo
> więcej danych.
Po pierwsze, to nie MS wymyślił taki sposób przechowywania zasobów
programów. Autorem tego rozwiązania jest Apple -- wyrocznia w sprawie
interfejsów graficznych. W Applach się to sprawdziło, to MS zwinął to
rozwiązanie do swojego systemu. BTW wtedy był to niesamowity krok
naprzód w ułatwieniu lokalizacji programów (w porównaniu do DOSa,
gdzie 90% programów miało wszystkie komunikaty w kodzie jako stałe
stringi).
Po drugie, zasoby można rekompilować w gotowym EXEcu. Gdyby więc
tylko Microsoftowi się chciało, to ServicePacki mogłyby wyciągać
zasoby z istniejących wersji programów, podmieniać EXEki i na
nowo wpisywać zasoby.
Po trzecie, zazwyczaj zmianom w kodzie towarzyszą zmiany w zasobach
(dochodzą nowe komunikaty, zmienia się wygląd okien), więc i tak
trzeba wszystko podmieniać.
Po czwarte, zasoby można spokojnie umieścić w osobnym DLLu (tak
jest na przykład w MS Office) i wtedy masz dokładnie takie coś,
jak sobie życzysz.
> Gdyby Microsoft robił tę lokalizację po ludzku, to w katalogu windows byłby
> katalog z plikami lokalizującymi programy - tak samo, jak to jest robione
> pod unixami.
Oczywiście -- rozwiązanie zastosowane w Unixach jest najlepsze i
najbardziej dopracowane, bo ma ileśtam naście lat.
Podobne rozwiązanie masz właśnie w Windows, tylko musisz chcieć
je wykorzystać i kompilować zasoby do osobnego pliku. A że nikomu
się nie chce i wkompilowują je do pliku EXE lub wręcz nie robią
zasobów tylko umieszczają w kodzie... Zabronisz?
> 1. Lokalizacja programu jest prostsza do wykonania, więc można ją zrobić
> szybciej.
Akurat. Edytor zasobów uniezależnia zasoby od kodu, więc nie wiem
na czym to uproszczenie miałoby polegać. Pisałeś kiedyś program
pod Windows?
> 2. Nie trzeba mieć dostępu do źródeł programu, więc można lokalizację
> zlecić nawet jakiejś małej firmie - znowu przyspieszenie.
Dokładnie tak samo jest w Windows -- zasoby są niezależne od
kodu, edytorem można je dowolnie zmieniać w dowolnym zakresie,
o ile ma się do tego prawa (autorskie).
> 3. Nie trzeba lokalizować absolutnie wszystkiego - w najgorszym razie, jeśli
> jest gdzieś nieprzetłumaczony tekst, to będzie on po angielsku.
I tak samo jest w Windows.
> 4. Jeśli ktoś posiada odpowiednie pliki zasobów z odpowiednich wersji
> językowych, to może sobie lokalizację zmieniać nawet w locie.
W Windows jeżeli program jest napisany dobrze, też tak można.
W gorszym przypadku zostają jedynie lokale przewidziane przez
autora.
> Niestety, "dzięki" microsoftowemu sposobowi myślenia mamy sytuację taką, jak
> teraz - czyli totalny burdel, programy działające tylko pod angielską czy
> chińską wersją windows itp.
Za pozwoleniem -- chrzanisz :)
-- |"""""""""""""""""""""""""""""""""""""""""""""""""""""""| | Radosław Sokół | http://www.magsoft.com.pl/~rsokol/ | | UIN:39350879 | ftp://sokol.magsoft.com.pl/ | \................... WinNT FAQ: http://nt.faq.net.pl/ ../
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 20:13:15 MET DST