C# tuş ile dil değiştirme

EmirYG

Centipat
Katılım
18 Ocak 2021
Mesajlar
14
C# bir loader yaptım fakat bir tuş eklemek istiyorum bu tuşa basınca loaderdeki butonların üstündei yazıların değişmesi gerek nasıl yapabilirim örnek bir video falan var mı?
 
Katılım
9 Haziran 2016
Mesajlar
571
Makaleler
1
Çözümler
16
C# bir loader yaptım fakat bir tuş eklemek istiyorum bu tuşa basınca loaderdeki butonların üstündei yazıların değişmesi gerek nasıl yapabilirim örnek bir video falan var mı?
Eğer özel çevirmelere ihtiyacınız varsa çevirmenlere çevirtip verileri JSON'a depolayacaksınız ve veriyi oradan çekeceksiniz.

Eğer basit bir çevirme işimi görür derseniz formunuzun "Localizable" özelliğini açın. Sonra buttonlara göre program dilini değiştirin.
[CODE title="İngilizce Butonuna Basınca Çalışacak Kod"]Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");[/CODE]
Butonun Click olayında hepsinin adını ingilizceye çevirebilirsiniz.
Günümüz programlamasında bu tip çözümler artık önerilmemelidir. Kesinlikle kolay programlama anlayışına zıttır.
 
KS
KS
EmirYG

EmirYG

Centipat
Katılım
18 Ocak 2021
Mesajlar
14
Bu butona basınca diğer butonlarda ne yazacak?

Mesela normalde butonda başlat yazıyor biz dil değiştirme butonuna basınca start yazıcak.
Eğer özel çevirmelere ihtiyacınız varsa çevirmenlere çevirtip verileri JSON'a depolayacaksınız ve veriyi oradan çekeceksiniz.

Eğer basit bir çevirme işimi görür derseniz formunuzun "localizable" özelliğini açın. Sonra buttonlara göre program dilini değiştirin.
[CODE title="İngilizce Butonuna Basınca Çalışacak Kod"]Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");[/CODE]

Günümüz programlamasında bu tip çözümler artık önerilmemelidir. Kesinlikle kolay programlama anlayışına zıttır.

Teşekkürler.
Butonun Click olayında hepsinin adını ingilizceye çevirebilirsiniz.

İstediğim şey bu değil maalesef.
 

ismail1985

Picopat
Katılım
15 Ekim 2021
Mesajlar
246
Çözümler
7
[CODE lang="csharp" title="form1"]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Newtonsoft.Json.Linq;

namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

//Properties/Settings string lang tr //İlk başlangıç ayarı
string lang = Properties.Settings.Default.lang;
private void Form1_Load(object sender, EventArgs e)
{
language(lang);
lbl_lang.TextChanged += Lbl_lang_TextChanged;
btn_tr.Click += Btn_tr_Click;
btn_en.Click += Btn_en_Click;
btn_fr.Click += Btn_fr_Click;
}

//Fransızca butonu tıklandığında
private void Btn_fr_Click(object sender, EventArgs e)
{
lang = "fr";
Properties.Settings.Default.lang = lang;
Properties.Settings.Default.Save();
lbl_lang.Text = "French";
}

//İngilizce Butonu Tıklandığında
private void Btn_en_Click(object sender, EventArgs e)
{
lang = "en";
Properties.Settings.Default.lang = lang;
Properties.Settings.Default.Save();
lbl_lang.Text = "English";
}

//türkçe butonu tıklandığında
private void Btn_tr_Click(object sender, EventArgs e)
{
lang = "tr";
Properties.Settings.Default.lang = lang;
Properties.Settings.Default.Save();
lbl_lang.Text = "Turkish";
}


//Dil değişikliği olduğunda çalışacak metod
private void Lbl_lang_TextChanged(object sender, EventArgs e)
{
language(lang);
}


//Dil değişikliği metodu
void language(string lang)
{
switch (lang)
{
case "tr":
tools("tr");
break;
case "en":
tools("en");
break;
case "fr":
tools("fr");
break;
}
}

//Bileşenler metodu
void tools(string lang)
{
StreamReader jsondata = new StreamReader(@"lang/" + lang + ".json");
string datalar = jsondata.ReadToEnd();
JObject json = JObject.Parse(datalar);
btn_tr.Text = json["ButtonLang"]["1"].ToString();
btn_en.Text= json["ButtonLang"]["2"].ToString();
btn_fr.Text= json["ButtonLang"]["3"].ToString();

lbl_lang.Text = json["Label"]["1"].ToString();
label1.Text= json["Label"]["2"].ToString();
label2.Text= json["Label"]["3"].ToString();
label3.Text= json["Label"]["4"].ToString();
}
}
}[/CODE]
[CODE lang="json" title="tr.json"]{
"ButtonLang":{
"1":"Türkçe",
"2":"İngilizce",
"3":"Fransızca"
},

"Label":{
"1":"Türkçe",
"2":"Değer",
"3":"Yenilik",
"4":"Yaşam"
}
}[/CODE]
[CODE lang="json" title="en.json"]{
"ButtonLang":{
"1":"Turkish",
"2":"English",
"3":"French"
},
"Label":{
"1":"English",
"2":"Value",
"3":"Innovation",
"4":"Life"
}
}[/CODE]
[CODE lang="json" title="fr.json"]{
"ButtonLang":{
"1":"Turc",
"2":"L'anglais",
"3":"Français"
},
"Label":{
"1":"Français",
"2":"Valeur",
"3":"Innovation",
"4":"Vie"
}
}[/CODE]
İşine yararsa kaynak dosyalarını da paylaşırım.
 
KS
KS
EmirYG

EmirYG

Centipat
Katılım
18 Ocak 2021
Mesajlar
14
[CODE lang="csharp" title="form1"]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Newtonsoft.Json.Linq;

namespace WindowsFormsApp4.
{
public partial class Form1 : Form.
{
public Form1()
{
InitializeComponent();
}

//Properties/Settings string lang tr //İlk başlangıç ayarı.
string lang = Properties.Settings.Default.lang;
private void Form1_Load(object sender, EventArgs e)
{
language(lang);
lbl_lang.TextChanged += Lbl_lang_TextChanged;
btn_tr.Click += Btn_tr_Click;
btn_en.Click += Btn_en_Click;
btn_fr.Click += Btn_fr_Click;
}

//Fransızca butonu tıklandığında.
private void Btn_fr_Click(object sender, EventArgs e)
{
lang = "fr";
Properties.Settings.Default.lang = lang;
Properties.Settings.Default.Save();
lbl_lang.Text = "French";
}

//İngilizce Butonu Tıklandığında.
private void Btn_en_Click(object sender, EventArgs e)
{
lang = "en";
Properties.Settings.Default.lang = lang;
Properties.Settings.Default.Save();
lbl_lang.Text = "English";
}

//türkçe butonu tıklandığında.
private void Btn_tr_Click(object sender, EventArgs e)
{
lang = "tr";
Properties.Settings.Default.lang = lang;
Properties.Settings.Default.Save();
lbl_lang.Text = "Turkish";
}

//Dil değişikliği olduğunda çalışacak metod.
private void Lbl_lang_TextChanged(object sender, EventArgs e)
{
language(lang);
}

//Dil değişikliği metodu.
void language(string lang)
{
switch (lang)
{
case "tr":
tools("tr");
break;
case "en":
tools("en");
break;
case "fr":
tools("fr");
break;
}
}

//Bileşenler metodu.
void tools(string lang)
{
StreamReader jsondata = new StreamReader(@"lang/" + lang + ".json");
string datalar = jsondata.ReadToEnd();
JObject json = JObject.Parse(datalar);
btn_tr.Text = json["ButtonLang"]["1"].ToString();
btn_en.Text= json["ButtonLang"]["2"].ToString();
btn_fr.Text= json["ButtonLang"]["3"].ToString();

lbl_lang.Text = json["Label"]["1"].ToString();
label1.Text= json["Label"]["2"].ToString();
label2.Text= json["Label"]["3"].ToString();
label3.Text= json["Label"]["4"].ToString();
}
}
}[/CODE]
[CODE lang="json" title="tr.json"]{
"ButtonLang":{
"1":"Türkçe",
"2":"İngilizce",
"3":"Fransızca"
},

"Label":{
"1":"Türkçe",
"2":"Değer",
"3":"Yenilik",
"4":"Yaşam"
}
}[/CODE]
[CODE lang="json" title="en.json"]{
"ButtonLang":{
"1":"Turkish",
"2":"English",
"3":"French"
},
"Label":{
"1":"English",
"2":"Value",
"3":"Innovation",
"4":"Life"
}
}[/CODE]
[CODE lang="json" title="fr.json"]{
"ButtonLang":{
"1":"Turc",
"2":"L'anglais",
"3":"Français"
},
"Label":{
"1":"Français",
"2":"Valeur",
"3":"Innovation",
"4":"Vie"
}
}[/CODE]
İşine yararsa kaynak dosyalarını da paylaşırım.

Kaynak dosyalarını paylaşırsan daha çok sevinirim bu şekilde zorluk yaşıyorum :).
 

Yeni konular

Yukarı