Tłumaczenie terminów programistycznych


Większość anglojęzycznych terminów programistycznych można łatwo przetłumaczyć, z częścią z nich są pewne problemy - dosłowne słownikowe tłumaczenie rzadko jest dobre, a propozycje znalezione w literaturze i w internecie często brzmią nieswojo. Potrzeba przetłumaczenia większości z terminów o których tutaj napiszę wynikła przy okazji tłumaczenia dokumentacji Zend Framework na język polski. Dotyczą one różnych komponentów, jednak duża ich część związana jest ze wzorcem projektowym MVC.

Chyba najbardziej zastanawiał mnie “dispatcher”. Uznałem w końcu, że “dispatcher” najlepiej po polsku będzie brzmiał jako “obiekt uruchamiający”, a “dispatching” jako “proces uruchamiania”. Przyznam, że w tym przypadku przyszedł mi do głowy taki neologizm jak “uruchamiacz”, ale uznałem, że zamiast propagować nowe słowo, w tym przypadku lepiej będzie wykorzystać zwrot złożony z dwóch istniejących.

Zastanawiałem się też nad routerem - wikipedia proponuje tu spolszczenie “ruter” czy tłumaczenie “trasownik” . Można by też spróbować przetłumaczyć to jako “trasowacz”, albo “traser”. Pierwsze z nich brzmi dziwnie i najprawdopodobniej jest niepoprawne, a drugie jest spolszczeniem słowa “tracer”, które odpada z racji tego, że ma nieco inne znaczenie niż router. Zostają więc trzy możliwości, pozostawienie w oryginale, lub propozycje z wikipedii - ja wybrałem użycie oryginału. Podobnie z czasownikiem “routing”, który pozostawiony w oryginale można całkiem dobrze odmieniać według zasad naszej gramatyki.

“Cache” wikipedia tłumaczy jako “pamięć podręczna”. Tłumaczenie dobre, ale trochę długie, a poza tym nie bardzo da się od tego utworzyć czasownik. Tutaj lepszą propozycją wydaje się być “bufor” oraz “buforowanie”. Spotyka się też spolszczone “kesz” oraz “keszowanie”, ale myślę, że “buforowanie” brzmi tu lepiej.

Dla “Bootstrap” w kontekście głównego pliku uruchamiającego aplikację, pomysłów było kilka: “plik ładujący”, “plik rozruchowy”, “plik uruchamiający”, “plik startowy”. Najrozsądniejsze wydaje się ostatni pomysł, ale jednak wybrałem pierwszy bo według mnie brzmi najlepiej z tych czterech.

Nieco trudne jest dobranie rozsądnego tłumaczenia dla terminu “object chaining”. W dosłownym tłumaczeniu oznacza to “łańcuchowe wywoływanie obiektów”, co jest chyba jedynym pomysłem na przetłumaczenie tego zwrotu. Tłumaczenie nie jest najlepsze bo jest długie i dodatkowo nie bardzo da się utworzyć od tego czasownik. “Obiekt łańcuchowo wywołujący obiekty” wydawało mi się trochę za długie, więc wybrałem tu uproszczoną formę - “łańcuch obiektów”, która jest prosta, ale zrozumiała.

Jeśli chodzi o “validate” i “validator” to tłumaczenia słownikowe raczej nie wchodzą w grę, bo słowa “legalizować” i “legalizator” w kontekście sprawdzania poprawności danych nie brzmią zbyt dobrze. Uznałem, że tu można spokojnie spolszczyć termin używając form “walidować” i “walidator” - okazało się, że w wikipedii autor artykułu też użył tej formy. Google znajduje tutaj sporo stron, okazuje się, że spolszczony termin przyjął się całkiem dobrze.

Tłumacząc zwrot “HTML entity” mocno uproszczając można by powiedzieć po prostu znak HTML, co jednak nie jest zbyt ścisłe. Z kolei najbardziej precyzyjnie byłoby “znakowa encja HTML”. Wybrałem kompromis i zdecydowałem się na użycie spolszczenia “encja HTML”, co jest raczej powszechnie używane.

Jak widać przy niektórych terminach dało się znaleźć polski odpowiednik, niektóre trzeba było po prostu spolszczyć, a jeszcze inne przetłumaczyć “opisowo”. Pomocne okazuje się tu też zasięgnięcie “rady” u google.com i pl.wikipedia.org.

Jeśli ktoś ma inne, lepsze lub gorsze pomysły, to zapraszam to przedstawienia ich.

Informacje oraz linki


Inne artykuły
Zend Framework 0.8.0
Zend Framework 0.7.0
Polecane
Zend Studio - The premiere PHP IDE

Dodaj komentarz

Poświęć chwilę i wyraź swoją opinię. Możesz użyć niektórych znaczników HTML.

Komentarze czytelników

Wydaje mi się, że w przypadku “dispatchera” wybrałeś bardziej drogę wyjaśnienia znaczenia słowa, niż faktycznego tłumaczenia. A przecież “dispatcher” to bardzo ładne polskie “dyspozytor”.

Cieszę się, że poruszyłeś ten temat - chciałem do Ciebie napisać nawet.
Jednym z lepszych wyjść będzie poczytać temat “[MVC] Pytań kilka…” na http://forum.php.pl w dziale PHP PRO. Zauważysz, od razu, że większość pojęć nie jest tłumaczona, najczęściej zostawiamy je w oryginale - co najwyżej deklinujemy.
Przytoczę tutaj przykład helperów. “Pomocnik”, no błagam, zmień to :)))

Ta
a Interface to jest międzymordzie.
Mouse - operator kulostołotoczny.

A co do artykułu, to czemu wszystko trzeba tłumaczyć? Moim zdaniem język programistów powinien być uniwersalny, żeby nie palnąć do jakiegoś programisty zza granicy “no muszę ustawić ponownie (zresetować) trasownik”. Takie słowa jak cache, validate, reset, itd. powinny zostać w swojej pierwotnej formie.

“Polacy nie gęsi i swój język mają.”
:-)

Przyznam sie ze dla mnie czytanie takich tlumaczen to prawie jak czarny humor ; D Osobiscie nie znosze tlumaczenia wszystkiego co sie da ; )

Ciekawy artykuł, przydałoby się właśnie uporządkować polską terminologię albo gdzieś zebrać to w całość.
Podawanie jako dobrego źródła jeden z postów na forum php.pl nie jest chyba przemyślanym pomysłem :) Autor artykułu jak domniemam wygrzebuje temat bo chce korzystać z jak najbardziej odpowiednich i polskich określeń.. a na forach posty najczęściej są pisane szybko i niechlujnie i potem można wylądować z tekstami w stylu ‘luknołem przez łindoł’ ;-)

Pozwolę sobie zacytować:

bufor [ang.], inform. wydzielony obszar pamięci w systemie komputerowym, używany do tymczasowego przechowywania danych przesyłanych z jednego urządzenia komputerowego do drugiego, np. z dysku do pamięci operacyjnej, z pamięci operacyjnej do drukarki.

Więc IMHO raczej średnio to pasuje do “cache”.

Z drugiej strony, cytowana przezemnie powyżej encyklopedia PWN mówi:

cache [käsz; ang., kasz; fr.], pamięć notatnikowa, inform. wydzielona część pamięci operacyjnej komputera służąca do przechowywania najczęściej używanych danych, co pozwala przyspieszyć działanie programów.

Dwie definicje - obie odmienne. Tłumaczenie wszystkiego mija się z celem. Są pewne specjalistyczne terminy, które powinny być używane w formie najbardziej popularnej, a taka niewątpliwie jest jeżyk angielski. Już jednego http://pl.wikipedia.org/wiki/Jerzy_%C5%81ozi%C5%84ski mamy - to wystarczy.

Uważam, że pomysł przygotowania takiego słowniczka to … dobry pomysł. Nawet po to by wyraźnie powiedzieć, których słów na potrzeby danego projektu (tu ZF) a w przyszłości - miejmy nadzieję i innych - nie tłumaczymy.

Również bowiem uważam, że przetłumaczenie cache na bufor jest błędem. Jednak w przypadku innych wyrażeń takie wątpliwości na pewno będą się pojawiać, i dobrze byłoby mieć do czego się odwołać.

Podczas tłumaczenia Trac’a dzięki opieraniu się na takim słowniczku udało mi się wyłapać parę kwiatków typu “Roadmap” => “Mapa drogowa” :) i myślę, że w każdym z większych projektów coś takiego się pojawia (no - może nie do tego stopnia - ale jednak ;) )

Może dobrym miejscem na taki słowniczek byłaby phpedia.pl?

Myślę, że żadne skrajne rozwiązanie nie będzie dobrym pomysłem: zostawienie wszystkiego w oryginalne byłoby złym wyjściem, podobnie jak próba przetłumaczenia wszystkiego. Łoziński chciał przetłumaczyć wszystko i Frodo Baggins został Bagoszem. Chciałbym, aby to co brzmi dobrze po polsku było przetłumaczone, a to co brzmi źle, zostało w oryginalne.

Kierowanie się konkretnym wątkiem na forum nie byłoby najlepszym rozwiązaniem, ponieważ jak wspomniał medyk, na forum i w dokumentacji raczej stosuje się różne style wypowiedzi.

Myśle, że najlepiej by było przygotować taki społecznościowy słowniczek, a phpedia może być do tego celu dobrym miejscem. Posiadanie takiego słowniczka z uzgodnionymi założeniami tłumaczeń terminologii ułatwi tłumaczenie dokumentacji różnych frameworków, tutoriali, a także pisanie polskich artykułów czy nawet książek.

wikisłownik terminów informatycznych byłby bardzo wskazany - i sam chętnie bym go wsparł.

Bindowanie -> podpinanie.
Walidator -> kontroler danych (od “kontrola poprawności danych”).

Zyx: podpinanie to dobra propozycja. Może chciałbyś dodać swoje propozycje w wikisłowniku terminów programistycznych?