03-03-2021, Saat: 22:52
Arkadaşlar selamlar
Bir programımda ingilizce dil desteği istendi. Bunun için ben daha önce bir fonksiyon kullanmıştım. Bu fonksiyonla, form üzerindeki bileşenlerin yazılarını değiştirebiliyordum. Ancak kodlara bir türlü ulaşamadım. Bir yere not almışım sadece. Aşağıda kodlar mevcut.
Sizin önerebileceğiniz bir yapı varsa direkt onu yapabilirim de. Amacım, form üzerindeki label, message, caption vb. bilgileri türkçe veya ingilizce olarak göstermek.
Bir programımda ingilizce dil desteği istendi. Bunun için ben daha önce bir fonksiyon kullanmıştım. Bu fonksiyonla, form üzerindeki bileşenlerin yazılarını değiştirebiliyordum. Ancak kodlara bir türlü ulaşamadım. Bir yere not almışım sadece. Aşağıda kodlar mevcut.
Sizin önerebileceğiniz bir yapı varsa direkt onu yapabilirim de. Amacım, form üzerindeki label, message, caption vb. bilgileri türkçe veya ingilizce olarak göstermek.
implementation {$R *.dfm} {$R StringTableLocalization.RES} uses ResourceLocalizer; procedure TForm1.FormCreate(Sender: TObject); begin TResourceLocalizer.GetLanguages(LanguagesRadioGroup.Items); end; procedure TForm1.LanguagesRadioGroupClick(Sender: TObject); var LanguageIndex : integer; LanguageResOffset : integer; begin //locate selected item (exit if not assigned) LanguageIndex := LanguagesRadioGroup.ItemIndex; if LanguageIndex = -1 then Exit; //get language ofsset LanguageResOffset := Integer(LanguagesRadioGroup.Items.Objects[LanguageIndex]); //change button caption ButtonItemSelected.Caption := TResourceLocalizer.GetString(LanguageResOffset,1); //add items to ListBox TResourceLocalizer.GetStrings(ValuesListBox.Items,LanguageResOffset,[2,3,4]); end; procedure TForm1.ButtonItemSelectedClick(Sender: TObject); begin if ValuesListBox.ItemIndex <> -1 then begin ShowMessage(ValuesListBox.Items[ValuesListBox.ItemIndex]); end; end;
Yazılımcı, kahveyi koda çeviren bir organizmadır.