Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Uygulamama dil seçeneği eklemek istiyorum.
#1
Merhaba,
Delphi 10.2 kullanıyorum.
İçinde toplamda yaklaşık 50-60 caption ve uyarı metni bulunan (vcl) uygulamama dil seçenekleri eklemek istiyorum.
Embarcaderonun sitesinde tarif edildiği şekilde Project ->Languages-> Add yolunu izleyerek dilleri ekledim ama sonrası çok karıışık geldi.

Yapacağım değişiklik fazla olmayacağı için dil seçeneklerinin olduğu bir combobox ekleyip sonra if  then bloğu ile tüm tanımlamaları yapsam mı? Yoksa isteğimi gerçekleştirmek için daha iyi bir yol var mı?
Cevapla
#2
Merhaba;

Forumdaki Linkleri Görebilmeniz İçin Giriş yap veya Üye Olkonudan veya Linkleri Görebilmeniz İçin Giriş yap veya Üye Olkonudan veya arama ile daha hızlı sorunuzu çözebilirsiniz.

İyi çalışmalar.
Cevapla
#3
Merhaba,
o iki konuyu (hatta daha fazlasını) okumuş ve bana uygun çözüm bulamamıştım.
Belki o konuların altına sorumu sorarak daha uygun bir hareket etmiş olacaktım, beni uyardığınıza göre demek ki yeni konu açmak suretiyle yanlış hareket etmişim.
Bu arada, bir dil tablosu oluşturup, verileri bu tablodan çekmeye karar verdim. Yapacağım değişiklik sayısı az ama, çevirilerin kontrolü ve yeni dil eklenmesi daha kolay olur diye düşünüyorum.
Cevapla
#4
(26-03-2018, Saat: 13:35)canbir Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
o iki konuyu (hatta daha fazlasını) okumuş ve bana uygun çözüm bulamamıştım.
Belki o konuların altına sorumu sorarak daha uygun bir hareket etmiş olacaktım, beni uyardığınıza göre demek ki yeni konu açmak suretiyle  yanlış hareket etmişim.
Bu arada, bir dil tablosu oluşturup, verileri bu tablodan çekmeye karar verdim. Yapacağım değişiklik sayısı az ama, çevirilerin kontrolü ve yeni dil eklenmesi daha kolay olur diye düşünüyorum.

pro_imaj'ın vermiş olduğu TLang ile ilgili konu ve örneklerdir. TLang, FireMonkey mimarisine özgüdür. Yanlış anlamadıysam siz VCL'de nasıl yapılacağı konusunda bir yardım talebinde bulunmuşsunuz.
Eğer VCL için ise formda bu konu ile ilgili bir bilgiyi ben göremedim. Bu durumda doğru yerde doğru konu açmışsınız demektir.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
Merhaba;
Konuyu araştırdığınızı siz biliyorsunuz, burada belirtmemişsiniz, bundan dolayı belki gözden kaçmış olabilir düşüncesiyle linkleri paylaştım.

Tabloda tutmakta iyi bir yöntem olabilir, geçmişte böyle bir ihtiyacım oluşmuştu, bende tabloda tutuyordum. Tabi delphi her konuda olduğu gibi bu konuda da yeni özellikler sunmuştur.

*Tabloda tutmakla oluşturacağınız açıklamalar db yöntemiyle tek tek bağlamak zorunda kalacaksınız, geliştirme açısından sizi yavaşlatacak bir unsur olarak proje büyüdükçe karşınıza çıkacaktır.

İyi çalışmalar.
Cevapla
#6
Merhaba.

- INI dosyası kullanma konusunda deneyiminiz varsa işinizi göreceği kanaatindeyim. Program klasöründe veya kullanıcının oturumuna göre değişken Belgeler klasöründe konumlanacak bir INI dosyasından güncel CAPTION değerlerini okutarak, ilgili VCL(ler) ve dahi Mesaj varsayılanlarının yeniden düzenlenme imkanı verebilirsiniz.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#7
Şöyle bir component var ama ücretli : Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#8
(26-03-2018, Saat: 15:33)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Merhaba.

- INI dosyası kullanma konusunda deneyiminiz varsa işinizi göreceği kanaatindeyim. Program klasöründe veya kullanıcının oturumuna göre değişken Belgeler klasöründe konumlanacak bir INI dosyasından güncel CAPTION değerlerini okutarak, ilgili VCL(ler) ve dahi Mesaj varsayılanlarının yeniden düzenlenme imkanı verebilirsiniz.

ini yöntemi tablodan daha mantıklı geldi. Özellikle tanımlama kısmı çok daha kolay olacaktır.
Yardımcı olan tüm arkadaşlara teşekkür ediyorum (+ rep vermeyi de ihmal etmiyorum.)
Cevapla
#9
İni okurken kolaylık olsun diye şöyle bir fonksiyon yapmıştım . Kullanmak istersen aşağıdaki gibi kullanabilirsin

//bendeki ini dosyasının adı Ayarlar.ini 
//Ayarlar ini dosyasındaki başlık bende [Muzik Kutusu].. Sende Dil seçenekleri yazabilirsin
//Diyelim ki senin ini dosyanda 
   TR=Türkçe
   En= İngilizce
    
Paylaşmış olduğum fonksiyon ile şöyle kullanabilirsin (usesa IniFiles eklemeyi unutma)

Function ini_Oku(Okunacak_Alan:String):AnsiString;
var
Ini   : TINIFile;
okunan: AnsiString;
begin

Ini := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Ayarlar.INI'); // exe dosyasının yanındaki ayarlar ini dosyasında
okunan:=Ini.ReadString('Dil Seçenekleri',Okunacak_Alan,'');
Ini.Free;
Result:=okunan;
end;



//Kullanılışı 
ini_Oku('TR');
/// ini dosyasında TR etiketi ile tanımladığın yerin karşısındaki değeri döndürür.

İni dosyasındaki belli bir etikete bilgi eklemek içinde şunu kullanıyorum
procedure Ayarlar_iniye_ekle( Bolum,Bilgi:string );
Var
 Ini : TINIFile;
begin
   Ini := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Ayarlar.INI');
   Ini.WriteString('Dil Seçenekleri', Bolum ,Bilgi);
   Ini.Free;
end;

Kullanılışı
Ayarlar_iniye_ekle('TR','Türkçe');
// Ayarlar ini dosyasındaki TR alanına Türkçe kelimesini ekler
Cevapla
#10
(26-03-2018, Saat: 21:44)canbir Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(26-03-2018, Saat: 15:33)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Merhaba.

- INI dosyası kullanma konusunda deneyiminiz varsa işinizi göreceği kanaatindeyim. Program klasöründe veya kullanıcının oturumuna göre değişken Belgeler klasöründe konumlanacak bir INI dosyasından güncel CAPTION değerlerini okutarak, ilgili VCL(ler) ve dahi Mesaj varsayılanlarının yeniden düzenlenme imkanı verebilirsiniz.

ini yöntemi tablodan daha mantıklı geldi. Özellikle tanımlama kısmı çok daha kolay olacaktır.
Yardımcı olan tüm arkadaşlara teşekkür ediyorum (+ rep vermeyi de ihmal etmiyorum.)

Merhaba

Vakti zamaninda Bir Arkadasim bana yazmis oldugu bir Programdan alinti olarak, INI örnegi de ben ekliyeyim.

Uses kismina Ini kütüphanesini ekledikten sonra ,INIFILES




procedure TFrmMain.FormCreate(Sender: TObject);
Begin
// ÝNÝ DOSYA OLUÞTUR
INIFILE1 := TIniFile.Create(ExtractFilePath(Application.ExeName)+'IniDosyaIsmi.ini');
  // ÝNÝ DOSYADAN GEREKLÝ DEÐERLERÝ OKU
VT1 := INIFILE1.ReadString('PROGRAM','VT','') ;
MAKID:=  INIFILE1.ReadString('PROGRAM','MAKINEID','') ;
DosyaYollar := INIFILE1.ReadString('PROGRAM','YOL','');
PBSTASLAK:= INIFILE1.ReadString('PROGRAM','pbsvorlage','');
OGRENIM := INIFILE1.ReadString('PROGRAM','OGRANIM','');
end;

Umarim isine yarar
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Veri Tabanına Tarih Eklemek Mericx 22 904 26-04-2018, Saat: 22:58
Son Yorum: Slyman
  Grid'den kayıt eklemek istediğimde autoincrement olan alanın boş şeklinde hata vermes burakb44 1 276 30-10-2017, Saat: 22:26
Son Yorum: burakb44
  Sitedeki videoyu forma eklemek Lord_Ares 5 414 01-10-2017, Saat: 16:55
Son Yorum: Lord_Ares
  caption'a progresbar ve resim eklemek. Shou 8 3.212 05-01-2017, Saat: 20:27
Son Yorum: Shou



Konuyu Okuyanlar: 1 Ziyaretçi