Translator i tłumaczenie całych zdań.

0

Witam, tworzę translator i mam problemik. Otóż na razie robie tak że tłumaczy po 1 słowie i robie tak że robie 2 pola edit i 1 button

i na button daje to

procedure TForm1.Button1Click(Sender: TObject);
begin
if (edit1.Text='pies') then edit2.text:=('dog');
if (edit1.Text='samochód') then edit2.text:=('car');
end;

A jak zrobić żeby tłumaczyło wszystko co jest w polu edit a nie tylko 1 słowo? tak żeby np mogło być naraz pies i samochód?

0

Poczytaj o strukturach danych, dwa ify może i wyglądają ładnie... ale 200 tysięcy ifów już mniej (nie wspominając o szybkości).
Najlepszym rozwiązaniem jest tutaj hash tablica, ew. drzewo avl (albo inne zapewniające logarytmiczną złożoność).

Sam plik z danymi o translacji najlepiej włożyć w xml, powiedzmy <slownik><car>auto samochód</car></slownik>
(tylko przykład, trzeba by się zastanowić jakich informacji dokładnie potrzebujemy).
Jako bonus dostajesz oddzielenie danych od kodu ;)

Kilka słów - podziel string wg. spacji/przecinków i tłumacz każde słowo z osobna.

P.S Jeśli twoją ambicją jest zrobienie translatora całych wyrażeń, to sama translacja słów "auto" -> "samochód" etc to najmniejszy problem ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1