Jak zrobic zmiane jezyka?
Oglądasz archiwalną wersję wątku "Jak zrobic zmiane jezyka?" z forum pl.comp.lang.delphi
Maciej

program z dwoma wersjami jezykowymi, przelaczanymi przez uzytkownika. Czy
mam zrobic dwa formularze, i przelaczac ich widocznosc? Czy jeden formularz,
i przepisywac wszystkie etykiety i captiony?
Czy jeszcze inaczej?
Dzieki,
Maciej
Wojciech Spook Sura
Świadek Maciej zeznał:

program z dwoma wersjami jezykowymi, przelaczanymi przez uzytkownika. Czy
mam zrobic dwa formularze, i przelaczac ich widocznosc? Czy jeden
formularz, i przepisywac wszystkie etykiety i captiony?
Czy jeszcze inaczej?


Proszę poszukać w archiwum grupy, swego czasu zostało podanych kilka metod
na przygotowanie wersji językowych.

Dzieki,
Maciej


Pozdrawiam -- Spook.

Przemyslaw Osmanski


program z dwoma wersjami jezykowymi, przelaczanymi przez uzytkownika. Czy
mam zrobic dwa formularze, i przelaczac ich widocznosc? Czy jeden formularz,
i przepisywac wszystkie etykiety i captiony?
Czy jeszcze inaczej?


Mozna i tak, ale:
1. Mozna tez pobawic sie narzedziami wbudowanymi w samo Delphi (nie mam
o tym zdania),
2. Localizator (bodajze www.localizator.cz) - pod Win32 darmowy - działa
sobie i nawet dość dobrze. Jednak nie mam z nim duzego doświadczenia,
raczej tylko zabawa i testowanie
3. DxGetText (dybdahl.dk/dxgettext/) - działa, ale poza tym nic nie moge
powiedziec o nim ;)
4. Multilizer 6 (www.multilizer.com) - bardzo dobry program do
lokalizacji aplikacji. Moim zdaniem w wersji 6 jest jednym z
najlepszych. Wadę ma tylko jedną - cene. Niemniej jesli bedziesz robil
aplikacje komercyjne (duze, lub duzo) i nie chcesz zajmowac sie
pierdołami typu tłumaczenia, to ten pakiet jest najlepszym rozwiazaniem.

pozdrawiam,
Przemek O.

Borneq

program z dwoma wersjami jezykowymi, przelaczanymi przez uzytkownika. Czy
mam zrobic dwa formularze, i przelaczac ich widocznosc? Czy jeden
formularz,


Zdecydowanie jeden formularz.
Można zrobić kilka plików językowych np. aplikacja_pl.lng,
aplikacja_germ.lng, aplikacja_pl.lng,
W kazdym pliku zrobić mapowanie stringa w konkretnym języku do
indentyfikatora, np
; Main menu
mmMain_File       = "&Pliki"
mmMain_Exit       = "&Wyjście"
mmMain_View       = "&Zobacz"
Mapowanie można zrobić używając IniFile lub zrobic samemu na wyszukiwaniu z
haszem
Wersji angielskiej można nie robić, traktując ją jako domyślną, wtedy
program nie znajdując żadnego pliku językowego może działać wyświetlając
angielskie nazwy

Każda forma może mieć dwie metody
    procedure IMGatherLang(var Message: TMessage); message IM_GATHER_LANG;
    procedure IMApplyLang(var Message: TMessage); message IM_APPLY_LANG;
Pierwsza zbiera domyślne nazwy angielskie,
"lng.add('mmMain_File',FileItem.Caption)"
dzięki czemu będzie można przełączyć się znowu a polskiego na angielski
druga modyfikuje captiony: "FileItem.Caption:=lng.get('mmMain_File')"
Dzięki temu może być jeden manager językowy, który przez rozsyłanie
komunikatów do wszytkich form może znmodyfikować szybko wyświetlane captiony
w cąłej aplikacji - nie trzeba dzięki temu uruchamiac na nowo aplikacji!

Jako przykład źródła polecam hammer_src.7z ze strony
http://borneq.webpark.pl/myprogs_pl.html
w Main.pas są metody
  procedure IMGatherLang(var Message: TMessage); message IM_GATHER_LANG;
    procedure IMApplyLang(var Message: TMessage); message IM_APPLY_LANG;
W iCommon.pas  iPack.7z (robocza wersja pakietu) jest klasa TLangWing

Pozdrawiam

Grzegorz Skoczylas


program z dwoma wersjami jezykowymi, przelaczanymi przez uzytkownika. Czy
mam zrobic dwa formularze, i przelaczac ich widocznosc? Czy jeden formularz,
i przepisywac wszystkie etykiety i captiony?
Czy jeszcze inaczej?
Dzieki,
Maciej


Radzę użyć sprawdzone rozwiązanie:
- GNU gettext for Delphi (http://dybdahl.dk/dxgettext/) oraz
- poEdit (http://www.poedit.net/).

Wygodne i niezawodne.

Maciej
Dzieki wszystkim za odpowiedzi. Przejzalem tez archiwum. Formularz bedzie
wiec jeden, i beda dwie procedury, polish i english, kazda wpisze
odpowiednie stringi w odpowiednie miejsca, i ustawi odpowiednia flage
jezykowa, zeby sam program wiedzial, w jakim jezyku dziala.
Pozdrowienia,
Maciej
VB 5.0 - jak zrobic by w obliczeniach przecinek i kropka byly traktowane jako to samo ??
kolejny raz Outllok - ksiazka adresowa- niby sprawa banalna ale... jak to zrobic
Próbowałem zrobić Postfix + SASL a uzyskałem ... popa3d - Authentication failed
Przekazanie funkcji jako parametru- czy to sie da jakos zrobic?
  • zakocona galeria poswiaty 7000
  • narodziny kobiecosci stowarzyszenie
  • dach dobry wszystkim
  • tlumacz przysiegly hiszpanskiego
  • poezja zyczenia
  • anime naruto rasengan
  • hipisi bizon
  • e sky lama krotkie przedstawienie modelu
  • strona;sie;nie;wyswietla
  • Zbiór postów z for dyskusyjnych : Indeks