Orignał w języku Esperanto | Maszynowe tłumaczenie na język polski | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Iafoje mi ricevas leterojn de uzantoj de Esperantilo, kiu dezirus maŝinan tradukadon al ilia nacia lingvo. Esperantilo nun subtenas la maŝinan tradukadon al 3 lingvoj, sed mi nuntempe okupas nur pri pola lingvo. Estas ĝenerale konata fakto, ke programado de maŝina tradukado ne estas triviala tasko. Alikaze ni delonge havus multajn altnivelajn tradukajn programojn por multaj lingvoj. Fakte nur kelkaj profesiaj firmaoj agas en tiu kampo kaj nombro de subtenataj lingvoj estas malgranda. Esperantilo ne estas planita por subteni dekomence multajn lingvojn. Do ĉiu nova subtenata lingvo bezonas novan planadon kaj programadon. Mi ankaŭ konscie okupis nur pri unudirekta traduko el Esperanto al nacia lingvo, ĉar tiu direkto ŝajnas havi malpli multajn obstaklojn pro trajtoj de esperanta lingvo. Mi tamen dekomence de programado planis la izolon de partoj de programo, kiuj estas dependaj de lingvo kaj partoj, kiuj estas ĝeneralaj pro maŝina tradukado mem. Tial la tradukado al tiuj 3 lingvoj uzas en 80% la saman programan bazon. Nur la plej specifaj fragmentoj estas programitaj en tn. traduka modulo por koncerna lingvo. Ankaŭ la proceso de tradukado mem ebligas la reuzon de grandaj partoj de programo por diferencaj lingvoj. La proceso de programado estas
Esperantilo enhavas ankaŭ multajn partojn, kiuj ne servas direkte en proceso de tradukado, sed tamen influas la kvaliton kaj la uzeblecon de tuta sistemo.
Tial Esperantilo povus bone servi kiel baza sistemo por aliaj tradukaj sistemoj, ĉefe en direkto de Esperanta lingvo al nacia lingvo. Due oni povus reuzi la tradukan modulon de iu ekzistanta lingvo por krei tradukan modulon de similspeca lingvo. Ekzemple la traduka modulo de pola lingvo povus esti uzata kiel ŝablono por ĉiu slava lingvo. La germana kaj angla moduloj povus esti ŝablonoj por aliaj multnombraj germanaj lingvoj. Tamen mi ne kredas, ke la sintaksa analizo de esperanta lingvo en Esperantilo estus sufiĉa por traduko al lingvoj, kiuj tre diferencas de Esperanto. Temas precipe pri struktura (sintaksa) malsimileco. Antaŭ ol vi decidis okupi pri maŝina tradukadoMaŝina tradukado postulas multajn konojn kaj vastan scion. Do oni devus longe prepari por tiu tasko. Oni devus eklerni multajn novajn kampojn kaj profundigi jam konatan scion. Do tio ne estas okupo por unu semajno aŭ iu instrua projekto. Tamen ekzistas sufiĉe multaj homoj, kiuj jam havas vastajn spertojn kaj delonge okupas pri tiu temo. Esperantilo estas io, kio povus esti interesa por homoj, kiuj volas havi ion praktikan. Ankaŭ kiel ŝatokupo estas eble en longa tempo fari ion, kio funkcias kaj havas trajtojn de tn. serioza aŭ profesia okupo. Por mi la atributo “profesia” signifas nur, ke temas pri mono, kiun oni ricevas aŭ devas pagi. En tiu senco la sistemo Esperantilo ne estas profesia. Mi povas helpi al ĉiu, kiu volas mem plukonstrui aŭ reuzi la sistemon Esperantilo, sed Due vi devas pripensi, ĉu vi eblas trovi sufiĉe da lingvistika materialo. Ĉu ekzistas liberaj glosaroj por koncerna lingvo? Ĉu ekzistas bonaj priskriboj de gramatiko? Ĉu aldonaj informoj pri fleksio ankaŭ estas uzeblaj? Mi ofte reuzas aliajn liberajn materialojn. La ideo “Programi tradukan sistemon tute de komenco” estas tre malespera okupo. EsperantiloSDK - Programa medio de programo EsperantiloPor programi la programon Esperantilo mi uzas iom ne veste konatan programan medion. La baza programa lingvo estas Tcl. Eldone la programo estas skribita laŭ objektema maniero helpe de XOTcl. La programa medio estas XOTclIDE. Mi kredas, ke XOTcl kaj XOTclIDE ebligas la uzon de programa lingvo TCL en grandaj projektoj. Tiuj teknikaj iloj estas malofte uzataj. Sed la ideoj devenas de aliaj medioj, kiuj normale estas veste konataj. Do Tcl similas al C, Java kaj aliaj skriptaj lingvoj. XOTcl estas simila al Java, C++, Ryby kaj Python. Fine la programa medio XOTclIDE estas programita en tradicio de medioj por programa lingvo Smalltalk, kiuj influis ankaŭ aliajn programajn mediojn. Do sperta programisto ne trovas en tiu medio vere ion novan. Mi preparis la tutan programan medion kiel EsperantiloSDK. Taskoj ĉe programado de nova traduka moduloOni povas tiujn laborojn distingi inter lingvistikaj taskoj kaj programaj taskoj. Lingvistikaj taskoj
Programaj taskoj
Ellerno de sistemo. Praktikaj sugestojJam en normala eldono de Esperantilo vi povas lerni iom pri proceso de tradukado.
Konkretaj informoj pri programadoSe vi lanĉis EsperantiloSDK vi vidas fensetron de XOTclIDE, sed ankaŭ fenestro kun nomo EsperantiloCentro. De tiu lasta fenestro vi povas lanĉi la konatan redaktilon de Esperantilo kaj ankaŭ atingi kelkajn specialajn funkciojn per programado.
Precipe vi devas “nur” programi vian propran Esp??Tradukilo. Tie vi povas vidi la priskrobjn de eroj de programo. Tamen mi sugestas trarigardi la fontprogramon kaj programan strukturon de Esperantilo tuj en EsperantiloSDK per modulomontrilo (angle: Component Browser). Mi nun volas priskribi kelkajn teknikojn, kiujn vi povas uzi dum adaptado de modulo. En ceteraj kazoj la vortoj de cela lingvo estas enmetitaj direkte en la programa fonto. Tial vi povas vidi la fremdlingvan vorton de la baza lingvo, kiu ne venas de vortaro, en la cela teksto.
Vi povas kompari metodojn de aliaj moduloj per funkcio (menuo: Method->Search Implementers. La baza klaso, kiu respondas pri la tradukado estas Ĉiuj vortoj estas objektoj, kiuj devenas de derivita klaso de la klaso ETPlSubstantivo ETPlTradukElemento ETSubstantivo ElemTraduko ArboFolio ArboElemento Vi povas rigardi la parencajn strukturojn per
En ĉiu metodo, vi povas enmeti tn. haltpunkton (Breakpoint). Por tiu vi skribu en aldona linio: my halt. (Vi devas aldone enlegi la novan metodon per menu Edit->Save aŭ klavkombino Ctrl-S) La preciza priskribo de tuta programo ne estas praktika. Pli bone estas lernia la programan lingvo kaj legi la programon direkte. Kiel komenci?Se vi estas preta komenci vian okupon pri programado de Esperantilo, kontaktu min. Eble mi povus fari la plej malfacilajn taskojn por la komenco aŭ doni al vi kelkajn rimarkojn. |
Czasami otrzymuję listy użytkowników Esperantilo, które życzyłoby tłumaczenie maszynowe do ich narodowego języka. Esperantilo teraz podpiera tłumaczenie maszynowe do 3 języków, lecz obecnie zajmuję jedynie o języku polskim. Jest ogólnie znany fakt, że programowanie tłumaczenia maszynowego nie jest płaskim zadaniem. Innym razem od dawna mielibyśmy liczne ne wysokim poziomie programy tłumaczeniowe dla licznych języków. Faktycznie jedynie kilka zawodowych firm działa w tym zakresie i liczba poprzanych języków jest mała. Esperantilo nie jest zaplanowane aby poprzeć z początku liczne języki. Więc każdy nowy poprzany język potrzebuje nowe planowanie i programowanie. Także poczytalnie zajmowałem jedynie o jednokierunkowym tłumaczeniu z Esperanto do narodowego języka, ponieważ ten kierunek wydaje się mieć mniej liczne przeszkody z powodu cech esperanckiego języka. Jednak z początku od programowania zaplanowałem oddzielanie części programu, które są liniowe zależny od języka i części, które są ogólne z powodu tłumaczenia maszynowego samego. Dlatego tłumaczenie do tych 3 języków użytkuje w 80 % taką samą bazę programową. Jedynie najbardziej swoiste cząstki są wcześniej programowanym w tzw. modułem tłumaczeniowym dla danego języka. Także proces tłumaczenia samego umożliwia {reuzon} dużych części programu dla różnych języków. Proces programowania jest
Esperantilo mieści także liczne części, które nie służą w kierunku w procesie tłumaczenia, lecz jednak wywiera wpływ na jakość i użyteczność całego systemu.
Dlatego Esperantilo mogłoby dobrze służyć jako kluczowy system dla innych systemów tłumaczeniowych, głównie w kierunku Esperanckiego języka do narodowego języka. Po drugie można by było użytkować ponownie moduł tłumaczeniowy jakiegoś istniejącego języka aby stworzyć moduł tłumaczeniowy {similspeca} języka. Na przykład moduł tłumaczeniowy polskiego języka mógłby być użytkowany jako szablon dla każdego słowiańskiego języka. Niemieckie i angielskie moduły mogłyby być szablonami dla innych tłumnych języków niemieckich. Jednak nie wierzę, że syntaktyczna analiza esperanckiego języka w Esperantilo byłaby wystarczająca dla tłumaczenia do języków, które bardzo różnią się od Esperanto. Dotyczy przede wszystkim struktualnej (syntaktyczny) różności. Przed tym jak decydowałeś zajmować o tłumaczeniu maszynowymTłumaczenie maszynowe wymaga liczne wiedze i rozległą wiedza. Więc trzeba by było długo przygotowywać dla tego zadania. Trzeba by było wyuczyć liczne nowe zakresy i głębić już znaną wiedza. Więc to nie jest zajęcie dla jednego tygodnia albo jakiegoś szkoleniowego projektu. Jednak istnieją dosyć liczni ludzie, którzy już mają rozległe doświadczenia i od dawna zajmują o tym temacie. Esperantilo jest czymś, co mogłoby być interesujące dla ludzi,, które chcą mieć coś praktyczne. Także jak hobby jest przypuszczalnie w długim czasie zrobić coś, co funkcjonuje i ma cechy tzw. poważne albo zawodowe zajęcie. Dla mnie właściwość “zawodowa” znaczy jedynie, że dotyczy pieniędzy, który otrzymuje się albo trzeba zapłacić. W tym znaczeniu system Esperantilo nie jest zawodowy. Mogę pomóc każdemu, który chce sam rozbudować albo użytkować ponownie system Esperantilo, lecz Po drugie musisz przemyśleć, czy jesteś możliwe znaleźć dosyć lingwistycznego tworzywa. Czy istnieją wolne glosariusze dla danego języka? Czy istnieją dobre opisy gramatyki? Czy dodatkowe informacje o fleksji także są zdatne? Często użytkuję ponownie inne wolne tworzywa. Pomysł “Programować tłumaczeniowy system całkiem od początku” jest bardzo beznadziejnym zajęciem. {EsperantiloSDK} - środowisko Programowe programu EsperantiloAby programować program Esperantilo użytkuję trochę nie {veste} znane środowisko programowe. Kluczowy język programowy jest Tcl. {Eldone} program jest napisany według obiektowego sposobu za pomocą od {XOTcl}. Środowisko programowe jest {XOTclIDE}. Wierzę, że {XOTcl} i {XOTclIDE} umożliwia użycie programowego języka TCL w dużych projektach. Te techniczne przyrządy są rzadko użytkowane. Lecz pomysły pochodzą z innych środowisk, które normalnie są {veste} znane. Więc Tcl jest podobne do C, {Java} i inne skryptowe języki. {XOTcl} jest podobny do {Java}, C + +, Ryby i Python. W końcu środowisko programowe {XOTclIDE} jest wcześniej programowane w tradycji przez środowiska dla programowego języka Smalltalk, które wywierały wpływ na także inne programowe środowiska. Więc doświadczony programista nie znajduje w tym środowisku naprawdę czegoś nowego. Sposobiłem całe środowisko programowe jak {EsperantiloSDK}. Zadania przy programowaniu nowego modułu tłumaczeniowegoMożna te prace odróżniać pomiędzy lingwistycznymi zadaniami i zadaniami programowymi. Lingwistyczne zadania
Zadania programowe
Nauczenie systemu. Praktyczne sugestieJuż w normalnym wydaniu Esperantilo możesz uczyć się trochę o procesie tłumaczenia.
Rzeczywiste informacje o programowaniuJeśli uruchomiłeś {EsperantiloSDK}, widzisz {fensetron} od {XOTclIDE}, lecz także okno z nazwą {EsperantiloCentro}. Od tego ostatniego okna możesz uruchomić znanego edytora tekstu Esperantilo i także osiągnąć kilka specjalnych czynności programowaniem.
Przede wszystkim musisz “jedynie” programować twojego własnego Esp??Tradukilo. Tam możesz widzieć {priskrobjn} od odrobin programu. Jednak podsuwam przejrzeć program źródłowy i strukturę programową Esperantilo natychmiast w {EsperantiloSDK} wskazówką modułu (z angielskiego: Component Browser). Teraz chcę opisać kilka technik, które możesz użytkować w czasie adaptacji modułu. W pozostałych przypadkach słowa docelowego języka są włączone w kierunku w źródle programowym. Dlatego możesz widzieć obcojęzyczne słowo kluczowego języka, który nie przychodzi od słownika, w docelowym tekście.
Możesz porównywać metody innych modułów czynnością (menu: Method->Search Implementers. Kluczowa klasa, która odpowiada za tłumaczenia jest Wszystkimi słowami są rzeczy, które pochodzą ze wcześniej wywodzonej klasy klasy ETPlSubstantivo ETPlTradukElemento ETSubstantivo ElemTraduko ArboFolio ArboElemento Możesz patrzeć na pokrewne struktury
W każdej metodzie, możesz wstawiać tzw. {haltpunkton} (Breakpoint). Dla tego powinieneś pisać w dodatkowej lini: my halt. (musisz dodając {enlegi} nową metodę {menu} Edit->Save albo {klavkombino} Ctrl-S), Dokładny opis całego programu nie jest praktyczny. Lepiej jest {lernia} język programowy i czytać program w kierunku. Jak zacząć?Jeśli jesteś gotowy zacząć twoje zajęcie o programowaniu Esperantilo, skontaktuj się z mną. Przypuszczalnie ja mógłbym zrobić najtrudniejsze zadania dla początku albo dać tobie kilka uwag. |