PHP ile veritabanı işlemlerinde çoklu dil yapısı nasıl olmalıdır ?
Merhaba arkadaşlar,
Bir proje geliştiriyorum ve bu projede 3 dil olacak (Türkçe, ingilizce, Arapça).
Veritabanımdan dinamik veriler çekeceğim. Örneğin kategoriler, ürünler, sorular vb.
Fakat admin panelinde bunları girerken nasıl bir yapı kurmalıyım ?
İnternette araştırdım fakat çok bir kaynak bulamadım. Yardımcı olur musunuz ?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
Ellerinize sağlık dostlar, Statik textler için kullanmış olduğum bir yol var. Benim tek sorunum veritabanına eklerken nasıl bir yol izlemem gerektiğiydi.
Opencart sistemine baktım biraz orada 3 dil için kategori ekledim, veritabanına 3 kayıt ekledi. Bu da değişik bir yol aslında
örnek bir tablo sistemi
<?php
CREATE TABLE 'language' (
'id' int(11) NOT NULL,
'referans' varchar(250) DEFAULT '',
'secenekler' text NOT NULL,
'language_key' varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
'ingilizce' text,
'arapca' text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
'turkce' text CHARACTER SET utf8 COLLATE utf8_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO 'langs' ('id', 'referans', 'secenkler', 'language_key', 'ingilizce', 'arapca', 'turkce') VALUES
(1, '', '', 'signup', 'Signup', 'سجل', 'Kaydol'),
(2, '', '', 'logout', 'Logout', 'خروج', 'Çıkış'),
üstte insert değerinde dikkat edersen 3 dil eklenmiş oldum
eklediğim bu değerleri admin sayfasından içeriklere, sayfalara, girişlere göre düzenleme yapabilirsin
örnek kod düzeni
$sorgu = login_test = language('Giriş Başarısız');
?>
Mantığını anlatmaya çalışayım; Öncelikle kaç dil kullancaksan o kadar ayrı php dosyan olmalı.
$Language = array(
"Menu-1" => "Home",
"Menu-2" => "About",
"Menu-3" => "Products",
"Menu-4" => "Contact"
)
benzeri bir dizi oluşturabilirsin. Dizi değerlerini Db'den de çekebilirsin. (Ancak bence gereksiz bir yük olur SQL için) Bu değişkenleri sayfan dan çekersin. Bu dillerden biri default dil olur. Daha sonra kullanıcının seçimine göre SESSION veya COOKIE ile kullanıcıya atarsın. Yada bir üyelik sistemi ise kullanıcının profil özelliklerinden dil seçimi yaptırabilirsin.