
Php çoklu dil örnek kod parçasi doğru mu?
5
●209
- 23-08-2021, 19:06:01Merhaba kolay gelsin , temaya çoklu dil entegre etmek istiyoruz fakat çeviri için bu kod parçası kullanımı doğru mudur? Başka bir yolu var mıdır? Sizler temanıza hangi yolla entegre ediyorsunuz?

- 23-08-2021, 19:11:23Merhaba,
include yöntemini kullanabilirsiniz. İngilizce ve türkçe dosya oluşturarak içerisine görselde yaptığınız gibi kelimeleri array içerisine ekleyerek kullanabilirsiniz.
Örnek vermek gerekirse;
TR Dil dosyası:
$dil = array( "adres"=>"Adres Bilgisi" );EN Dil dosyası:
$dil = array( "adres"=>"Address" );Hangi dosyayı include ederseniz o dosyadaki kelime gözükecektir, doğru kullanımı bu şekildedir. - 23-08-2021, 19:13:01Merhaba size şunu önerirrim;
languages/tr.php ve languages/en.php şeklinde bri yapı oluşturun.
header yada config'de
include("languages/".$_SESSION['lang']."php"); dosyasını projeye yerleştirin.
dil dosyalarınızın içi aşağıdaki gibi olsun.

Sonra örneğin product.php sayfasındasınız. üstte'de en.php ekli.
Ürün fiyatı <?php echo $fiyat; ?>
yaptığınız yeri şu şekilde güncelleyin
<?php echo $_['text_price']; ?> <?php echo $fiyat; ?>
text_? olan kısımları kendinize göre kurgulayın
button_?
table_?
form_?
error_?
required_?
şeklinde daha hızlı kod yazarsınız.
birde veritabanı için bonus vereyim.
Örnek ürünler tablonuz var.

Sorgunuz da şu
SELECT * FROM urunler u INNER JOIN urun_meta um ON u.urun_id=um.urun_id WHERE um.language='en'
- 23-08-2021, 19:19:45Multi language sistemler basitten, kendi Syntax(söz dizimi) içerecek kadar gelişmiş olabilir, dillerin içinde variable kullanmanız gerekebilir veya sitenize giren her kullanıcı başka bir dil seçmek isteyebilir ve ayarları çerezlerde uygun durumda saklamanız gibi dallanıp budaklanan sistemler olur, aynısı multiple-theme sistemler içinde geçerli.
Dil içinde çok sade bir parse edilmemiş variable kullanımına örnek:
{1} kullanıcısı hoş geldiniz.Fakat o kadar detaya girmeyeceğim. Basit bir dil sisteminde yaptığınız gibi Array içine tanımlı olan ifadeden uygun dil dosyasını include edebilirsiniz. Bu sayede basit bir multi-language sisteminiz olur
- 23-08-2021, 19:41:50Hocamız gayet güzel bir yönet göstermiş. Bende bir kaç ekleme yapayım.fskgrup adlı üyeden alıntı: mesajı görüntüle
$_Session['lang'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
Üsteki şekilde kullanıcının tarayıcı dili otomatik olarak belirlenip session değişkenine gönderiyor.
Ekstra olarak;
if(isset($_Post['dilsec'])) { $_Session['lang'] == $_Post['dil']; } else { $_Session['lang'] == $_SERVER['HTTP_ACCEPT_LANGUAGE']; }Bu yöntem ile de kullanıcı seçim yapabilme imkanı sunabilirsiniz. Seçim yapmadığı takdirde sistem tarayıcının otomatik dilini seçenektir.
Ayrıca $_Post['dil'] değişkenine seçilecek dilin değerini vermek gerekiyor. Ayrıca formun buton kısmına da name değeri olarak "dilsec" vermelisin.
Kodu yazarken deneme imkanım olmadı hata çıkarsa yazarsın.

