Deklinacje

Zabrałem się do wbijania danych o deklinacjach do tabelki. Ponieważ robiłem to ręcznie, więc przy okazji dowiedziałem się nieco o odmianie rzeczowników. Zasadniczo panuje tu wolna amerykanka. Już samo to, że jest 146 grup deklinacyjnych mówi za siebie. Co prawda niektóre z nich różnią się bardzo nieznacznie, ale za to inne pozwalają na wieloraką swobodę interpretacji, zwłaszcza jeśli chodzi o przetwarzanie cyfrowe i zalgorytmizowane. Innymi słowy mamy bogaty język. Weźmy pierwszego z brzegu Rosjanina: mianownik: Rosjanin dopełniacz (końcówka -a): Rosjanina celownik (-owi): Rosjaninowi biernik (-a): Rosjanina narzędnik (-em): Rosjaninem miejscownik (-e): Rosjaninie (dochodzi dodatkowe i) wołacz (-e): Rosjaninie W liczbie…

Continue Reading

Odkręcone ogonki

Chyba się jednak przeproszę z Postgresem. W poprzednim wpisie napisałem, że Postgres umie użyć pod Windowsami tylko strony 1250. Zacząłem drążyć temat i doczytałem się o dosyć elastycznym podejściu do stron kodowych, jeśli chodzi o transmisję danych. Można ustawić stronę kodową przechowywania danych w bazie na UTF-8. Sztywność strony 1250 dotyczy tylko porównań koniecznych do sortowania (ang. collation). Do przesyłania danych można użyć kilku stron kodowych, w przypadku polskich ogonków może to być również UTF-8 i iso-8859-2, a także coś, co zostało nazwane Multilingual Emacs. Nie mam pojęcia o Emaksie, więc nie wiem, o co chodzi, ale Postgres potrafi przekodować dane…

Continue Reading

Zakręcone polskie ogonki

Twórcy komputerów nie mieli ogonków w alfabecie. To wiele wyjaśnia. To bardzo utrudnia tym, którzy mają ogonki, czyli większości ludzkości. W alfabecie polskim jest i tak stosunkowo prosto, bo mamy niewiele ogonków. Chociaż sobie oczywiście utrudniliśmy życie, niepotrzebnie tworząc za dużo stron kodowych. Utrudnił nam też Microsoft, bo w jego produktach są dwie strony kodowe używające polskich znaków: stara, jaszcze z MS-DOS’a cp852 – ciągle używana, nie wiadomo po co, chyba żeby utrudnić, w poleceniach konsoli i windows1250 – używana w dokumentach i programach działających w Windowsach. Tu leży mój problem: Postgres na Windows umie użyć prawidłowo tylko strony kodowej…

Continue Reading

Powoli do aplikacji

Pewien szkielet aplikacji już poczyniłem. Kod źródłowy jest na GitHubie. Oczywiście ta aplikacja nic szczególnego jeszcze nie robi: wyświetla pole tekstowe, w które można coś wpisać i przycisk ‚Tłumacz’, który można kliknąć. Po kliknięciu pod spodem wyświetla się jakiś napis. Szczytne założenie jest takie, że po wpisaniu tekstu angielskiego i kliknięciu wyświetli się jego polskie tłumaczenie. Oczywiście trzeba pracę podzielić na jakieś etapy. Wymyśliłem sobie, żeby najpierw zająć się rzeczownikami. Trzeba zaimplementować tablice deklinacyjne wspomniane poprzednio i wprowadzić do bazy danych przynajmniej po kilka rzeczowników z każdej grupy. Już to będzie niezłą zabawą. Trzeba też wymyślić, jak rzeczowniki mają być…

Continue Reading

Zmaganie

Zmagam się ze sobą. Pomysł uruchomienia tego bloga i napisania aplikacji tłumaczącej powstał w czasie, kiedy miałem dobry nastrój, byłem pełen energii, optymizmu, wiary w siebie i swoje umiejętności. Teraz nadszedł czas Wielkiego Postu, czas modlitwy, wyrzeczeń, rekolekcji, katechez, refleksji nad swoim życiem i nad pomysłami na jego wypełnienie. O ile poprzednio zajmowało mnie to bardzo, o tyle teraz przestałem trochę myśleć o superautomatycznym tłumaczu, a zająłem się innymi, zapewne ważniejszymi, sprawami. Ciągle jednak chcę zrealizować mój zamiar, nie jest on chyba taki całkiem głupi, tyle że obecnie mam pewien zastój w tej kwestii. Mam nadzieję, że nie mi się…

Continue Reading

Porażka

Miałem trochę czasu w weekend, więc chciałem przestać teoretyzować, a zacząć coś pisać. Może nie jest to zbyt poprawne metodologicznie, bo według tej najbardziej klasycznej teorii najpierw trzeba przeprowadzić analizę, potem wykonać projekt techniczny, a samą robotę kodowania zostawić na koniec. Tak się buduje domy, samochody i inne tego typu wytwory. Niektórzy tak budują oprogramowanie i nawet ma to swoją namaszczoną metodologię. Jednak z psychologicznego punktu widzenia takie podejście jest całkowicie niepoprawne. Normalny człowiek chce jak najszybciej widzieć jakiś efekt, niekoniecznie finalny, ale program robiący cokolwiek, który można będzie potem rozwijać i poprawiać. Zwykle takie podejście prowadzi do powstawania konstrukcji obarczonych…

Continue Reading

Trzeba zacząć od początku

Początek jest taki, że mam tekst angielski na wejściu. Dość łatwo można go podzielić na słowa, ale w tym momencie łatwość się kończy. W przeciwieństwie do języka polskiego, w angielskim to samo słowo może być zarówno czasownikiem, rzeczownikiem, przymiotnikiem, a w niektórych przypadkach również przysłówkiem. Czyli najpierw trzeba stwierdzić, z jaką częścią mowy mamy do czynienia, to już jest prawie połowa sukcesu, bo dalsze postępowanie dla polskich słów silnie zależy od tego ustalenia. Weźmy przykład z bloga mojego ulubionego programisty: That’s the natural evolution of things and that’s how you can build this complex software. Czyli: to jest naturalna ewolucja…

Continue Reading

Strona techniczna

Stronę techniczną tłumaczeń postanowiłem zrealizować w Javie. Na pewno nie dlatego, że jestem mistrzem tego języka. W tej chwili nawet trudno mówić o języku, raczej jest jest to ogromy zbiór bibliotek, standardów, technologii, wzorców projektowych, środowisk wszelakiego typu i wielu innych pomysłów, jak choćby nowych języków programowania. Samych trzyliterowych skrótów oczywistych dla wtajemniczonych jest co najmniej kilkanaście i w dodatku nie wszystkie zaczynają się na J, a są jeszcze skróty czteroliterowe i dłuższe oraz przeróżne nazwy własne. Trzeba po prostu coś wybrać, bo argumentów o wyższości javowej Wielkanocy nad Bożym Narodzeniem znajdzie się co niemiara. Wybrałem jako podstawowy framework, czyli…

Continue Reading

Ciągle o programiście

I’m a programmer – jestem programistą You’re a programmer – jesteś programistą He is a programmer – on jest programistą We’re programmers – Google: Jesteśmy programistów You are programmers – jesteście programistami They are programmers – są programistami (również programistkami, zależnie od wcześniejszego kontekstu) Co za bogactwo możliwości. Chyba można wstępnie założyć, że zdanie oznajmujące w angielskim zaczyna się od pary podmiot-orzeczenie. W każdym razie to by bardzo pomogło. Tu jednak mamy inny problem: złączeń podmiotu z orzeczeniem, jeśli podmiot jest wyrażony zaimkiem. Może zresztą to nie jest jakiś wielki problem: wystarczy zapamiętać kilka takich złączeń i tłumaczyć je bezpośrednio.…

Continue Reading

Infrastruktura

Zacząłem myśleć o technicznej stronie tłumaczenia. Wymyśliłem sobie, że dobrze by było udostępnić aplikację tłumaczącą w internecie, tak żeby każdy mógł łatwo wpisać jakiś tekst angielski i uzyskać polskie tłumaczenie. No z tym polskim, to może trochę przesadziłem, zwłaszcza w początkowej fazie. Głównie chodzi mi o to, że jak program jest publicznie dostępny, to po pierwsze daje silniejszą motywację do jego rozwoju, a po drugie pozwala uzyskać znaczną liczbę materiału do przemyśleń i wnoszenia poprawek. Zawsze użytkownik myśli inaczej niż deweloper, ma inne potrzeby i oczekiwania, co pozwala dostosować aplikację do rzeczywistych warunków używania. Powstaje problem gdzie i jak udostępnić…

Continue Reading