Tworzenie wielojęzyczej wersji programu - prośba o ocenę programu

0

Witam, jestem zapalonym programistą, który wolny czas stara się poświęcić różnym pomysłom, tym lepszym i gorszym. Ostatnimi czasy trochę zachorowałem, więc miałem czas, aby w końcu podzielić się trochę własnymi pomysłami. Programów mam kilka więc pozakładam nowe artykuły, żeby łatwiej było się do nich odnosić. Drugim programem jaki chciałem przedstawić jest Kuty Language Changer. Służy on do tworzenia wielu wersji językowych naszych aplikacji.

Wszystko wyjaśnione jest tutaj: http://programistakuty.pl/kuty-language-changer/

Proszę o własne odczucia co do niego, co by się przydało w nim polepszyć, może jakieś bugi wykryliście, itp.

Zapraszam również do przejrzenia moich artykułów na tym forum, ponieważ zamierzam napisać jeszcze kilka próśb o recenzję.

Pozdrawiam

0

1.Po co osobna funkcja UsunEntery? Przecież jest StringReplace; poza tym nazywanie funkcji po polsku jest... złe.
2.

Kładziemy na formatkę dwa komponenty TMemo, nazywamy je mStringContener, mStringContenerTranslated i ustawiamy im Visible:=false. Każdy tekst który chcemy wstawić w kodzie dodajemy do nowej linii komponentu mStringContener (...)

a) nie przypadkiem container?
b) niefajne rozwiązanie; lepsze byłoby nawet coś w rodzaju (pisane z palca):

Type LString = (lsErrorMessage, lsErrorTitle);

Function getLangValue(const Name: LString): String;
Var Ini: TIniFile;
Begin
 if (AnyLanguageLoaded) Then
 Begin
  Ini    := TIniFile.Create('lang\asdf.lng'); 
  Result := Ini.ReadString('Strings', Name, '');
  Ini.Free;
 End Else 
 Begin // tutaj dajemy teksty w języku, który ma być natywny dla aplikacji
  Case Name of
   lsErrorMessage: Result := 'Error: %s';
   lsErrorTitle: Result := 'It''s your fault';
   else
    Exit('<unknown>');
  End;
 End;
End;

3.Połowa funkcji jest nazwana po polsku, połowa po angielsku; podobnie ze zmiennymi. Zdecyduj się na jeden język (angielski :P).
4.

w sytuacji nie dodania się automatycznie

*niedodania

0

Faktycznie mStringContener:) powinno być container:) "b) niefajne rozwiązanie; lepsze byłoby nawet coś w rodzaju (pisane z palca):" tu się nie mogę zgodzić, można by się zajechać przy dużych projektach, a tak masz dużo szybciej, poza tym od razu jak w programie przetłumaczysz daną frazę masz a aplikacji to wyświetlone i widzisz czy mieści ci się tekst, jak wygląda itp. Faktycznie muszę przerzucić się na jeden język:) bo pisanie trochę tak, trochę tak nie jest najlepszym sposobem. W wolnym czasie poprawię.

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