Strona 1 z 1

translator gnome

: 13 lis 2010, 23:43
autor: krzychusan
hej,
w wolnej chwili napisałem na szybko prosty translator angielski -> polski jakby ktoś kiedyś potrzebował :P

Obrazek

Napisany w C i gtk, potrzebuje internetu do działania :) korzysta z API googlowego i parsuje odpowiedzi ze strony translate.google.com
Konfiguracja możliwa tylko przez skompilowaniem i jest w pliku config.h, polecam ustawić POSX i POSY czyli pozycje gdzie okienko ma się pokazywać.

https://github.com/krzychusan/translator

Idea jest taka, żeby podpiąć sobie pod jakiś skrót klawiszowy i w przypadku potrzeby odpalać :P wpisujemy słowo/ciąg słów i wciskamy Enter, jeżeli chcemy dodatkowe informacje wciskamy Tab! Zamknięcie aplikacji przez wciśnięcie Esc.
Głównie chodizło mi o to, że jeżeli potrzeba na szybko jakieś słowo sprawdzać, to żeby nie odpalać ciężkiego offlinowego słownika czy w przeglądarce specjalnie wchodzić na jakąś stronę i tam tłumaczyć to słowo.

Będę wdzięczny za uwagi jeżeli ktoś postanowi kiedyś przetestować ten programik :)

Odp: translator gnome

: 14 lis 2010, 13:20
autor: misiek1928
Implementacja konfiguracji po kompilacji jest zbyt trudna? Nie pytam złośliwie - pomysł jest super! Tylko kwestia instalacji (nie każdy umie skompilować) i konfiguracji jest problematyczna. Planujesz rozwój?

Odp: translator gnome

: 14 lis 2010, 15:58
autor: pixelenter
Jeszcze tego nie testowałem, ale na wstępie mam pare uwag:
I.
Prosty translator słów z języka angielskiego na polski
Nie uważasz że słownik nie jest poprawniej?
II. Ikonkę w png(z przezroczystością zamiast czarnego), zamiast jpg.

Zapewne ani na jedno ani na drugie nikt nie zwróci uwagi, ale sam napisałeś że będziesz wdzięczny za uwagi :D

Odp: translator gnome

: 14 lis 2010, 18:19
autor: warlock24
:w00t:

Bardzo użyteczny i pożądany programik ;-)

Niestety mam problemy z kompilacją

Kod: Zaznacz cały

bps@bps-desktop:~/apps/krzychusan-translator-12c4460$ make
gcc `pkg-config --libs --cflags glib-2.0 gtk+-2.0` translator.c handler.c connector.c -o translator
translator.c: In function ‘getText’:
translator.c:158: warning: assignment makes pointer from integer without a cast
translator.c:163: warning: incompatible implicit declaration of built-in function ‘strlen’
translator.c:166: error: invalid use of undefined type ‘struct timeval’
translator.c:166: error: invalid use of undefined type ‘struct timeval’
translator.c:167: error: invalid use of undefined type ‘struct timeval’
translator.c:167: error: invalid use of undefined type ‘struct timeval’
translator.c: In function ‘getMoreText’:
translator.c:179: warning: assignment discards qualifiers from pointer target type
translator.c:180: warning: incompatible implicit declaration of built-in function ‘memset’
translator.c:190: warning: assignment makes pointer from integer without a cast
translator.c:197: warning: incompatible implicit declaration of built-in function ‘strlen’
translator.c:225: error: invalid use of undefined type ‘struct timeval’
translator.c:225: error: invalid use of undefined type ‘struct timeval’
translator.c:226: error: invalid use of undefined type ‘struct timeval’
translator.c:226: error: invalid use of undefined type ‘struct timeval’
handler.c: In function ‘initConstant’:
handler.c:36: warning: incompatible implicit declaration of built-in function ‘strlen’
handler.c: In function ‘buildRequest’:
handler.c:52: warning: incompatible implicit declaration of built-in function ‘strlen’
handler.c:59: warning: incompatible implicit declaration of built-in function ‘malloc’
handler.c:78: warning: incompatible implicit declaration of built-in function ‘memcpy’
handler.c:83: warning: incompatible implicit declaration of built-in function ‘free’
handler.c: In function ‘getAdditionalText’:
handler.c:90: warning: incompatible implicit declaration of built-in function ‘strlen’
handler.c: In function ‘getBasicText’:
handler.c:119: warning: incompatible implicit declaration of built-in function ‘strlen’
connector.c: In function ‘connector’:
connector.c:27: warning: incompatible implicit declaration of built-in function ‘bcopy’
connector.c:43: warning: incompatible implicit declaration of built-in function ‘strlen’
connector.c:47: warning: incompatible implicit declaration of built-in function ‘free’
connector.c:50: warning: incompatible implicit declaration of built-in function ‘free’
make: *** [compile] Error 1
mogę coś na to poradzić?


Postuluję też wprowadzenie kilku zmian:
1. Programu nie trzeba wcale właczaś i wyłączać, może poprostu dać mu ikonę statusu w prawym górnym rogu pulpitu, taką jaką ma np. Rhythmbox czy zim? Wystarczyłoby kliknąć na nią raz a program schowałby swoje okno, za drugim kliknięciem program pokazałby okno. Implementacja ikony jest bardzo prosta, to praktycznie tylko gtk_status_icon_new_from_file().
2. przydałby się przycisk do zamiany języków miejscami taki jaki jest na stronie www. Wystarczyłoby na niego kliknąć aby zmienić słownik and -> pl na słownik pl -> ang. Bardzo brakowałoby mi tej funkcjonalności bo człowiek nie zawsze tylko czyta angielskie teksty ale czasami musi też coś napisać na jakimś forum.
3. Mam nadzieje że z czasem aplikacja przerodzi się naprawdę w translator o funkcjonalności zbliżonej do translate.google.com, tzn. tłumaczenie całych zdań a nie tylko pojedyńczych słów

Czekam niecierpliwie na kolejne wersje 8)

:boat:


//EDYCJA
Błąd już nieaktualny, okazuje się że eliminuje je dodanie #include <stdlib.h> do pliku translator.c
Pozostały jedynie ostrzeżenia:

Kod: Zaznacz cały

bps@bps-desktop:~/apps/krzychusan-translator-12c4460$ make
gcc `pkg-config --libs --cflags glib-2.0 gtk+-2.0` translator.c handler.c connector.c -o translator
translator.c: In function ‘getText’:
translator.c:159: warning: assignment makes pointer from integer without a cast
translator.c:164: warning: incompatible implicit declaration of built-in function ‘strlen’
translator.c: In function ‘getMoreText’:
translator.c:180: warning: assignment discards qualifiers from pointer target type
translator.c:181: warning: incompatible implicit declaration of built-in function ‘memset’
translator.c:191: warning: assignment makes pointer from integer without a cast
translator.c:198: warning: incompatible implicit declaration of built-in function ‘strlen’
handler.c: In function ‘initConstant’:
handler.c:36: warning: incompatible implicit declaration of built-in function ‘strlen’
handler.c: In function ‘buildRequest’:
handler.c:52: warning: incompatible implicit declaration of built-in function ‘strlen’
handler.c:59: warning: incompatible implicit declaration of built-in function ‘malloc’
handler.c:78: warning: incompatible implicit declaration of built-in function ‘memcpy’
handler.c:83: warning: incompatible implicit declaration of built-in function ‘free’
handler.c: In function ‘getAdditionalText’:
handler.c:90: warning: incompatible implicit declaration of built-in function ‘strlen’
handler.c: In function ‘getBasicText’:
handler.c:119: warning: incompatible implicit declaration of built-in function ‘strlen’
connector.c: In function ‘connector’:
connector.c:27: warning: incompatible implicit declaration of built-in function ‘bcopy’
connector.c:43: warning: incompatible implicit declaration of built-in function ‘strlen’
connector.c:47: warning: incompatible implicit declaration of built-in function ‘free’
connector.c:50: warning: incompatible implicit declaration of built-in function ‘free’
Poza tym program wydaje się nie działać, zawsze gdy wpiszę angelskie słowo w pierwszym polu i wcisnę enter pojawia się błąd: buffor not enough, scattering not implemented yet ;/Encountered error -4

Odp: translator gnome

: 14 lis 2010, 21:39
autor: krzychusan
Widzę, że jednak jest zainsteresowanie translatorem super sprawa :D
Już spieszę z odpowiedziami.
misiek1928 pisze:Implementacja konfiguracji po kompilacji jest zbyt trudna? Nie pytam złośliwie - pomysł jest super! Tylko kwestia instalacji (nie każdy umie skompilować) i konfiguracji jest problematyczna. Planujesz rozwój?
Nie powinien to być problem, po prostu nie pomyślałem, że konfiguracja przed kompilacją może być problemem, ale teraz w sumie w pełni się z Tobą zgadzam(nie każdy musi być programistą) i zrobię porządnie konfigurację. Co do rozwoju to najwyżej małe dodatki jeżeli okażą się przydatne, aplikacja ma być z założenia minimalistyczna ;)
pixelenter pisze: Nie uważasz że słownik nie jest poprawniej?
II. Ikonkę w png(z przezroczystością zamiast czarnego), zamiast jpg.
Kurcze chyba nawet nie ma takiego słowa jak translator :P Słownik zdecydowanie poprawniej.
Co do ikonki też oczywiście poprawię.

@warlock24
No tak do tej pory pisałem tylko dla siebie takie programiki to się warningami nie przejmowałem, już się biorę za ich likwidowanie.
Ad1. Dopisane do listy TODO
Ad2. Zobaczymy co da się zrobić :)
Ad3. Nie chcę z tego robić takiego wielkiego translatora, są do tego lepsze programy. Ten translator ma być szybki i minimalistyczny. Szybkie uruchomienie, przetłumaczenie słowa i schowanie aplikacji. Dużo zwrotów jest przetłumaczonych w końcu to google to tłumaczy :D ale może faktycznie warto by jeszcze jakiś inny słownik podpiąć pomyśli się.
Odnośnie 'Encountered error -4' to w teorii nigdy nie powinno się pokazać! mi się nigdy nie zdarzyło, no ale skoro są z tym problemy to przeanalizuję sprawę.

Dzięki wielkie za konstruktywną krytykę i jeżeli macie jeszcze jakieś uwagi to pisać :)

Odp: translator gnome

: 14 lis 2010, 23:38
autor: rom
Podobny programik już jest pyGtranslator Link do pobrania korzystający z Google Translate.