Php çoklu dil ile ilgili beyin fırtınası
Selam arkadaşlar bir CRM yazıyorum ve bu sisteme çoklu dil eklemek istiyorum
Anca CRMde fazlasıyla statik yazı olduğu için diziler ile çoklu dil bir yere kadar gidiyor.
Json ile yapsam eklenen her özellik yeni statik yazı anlamına geliyor belli bir süre sonra dosya boyutu büyüdükçe büyür
MYSQL ile düşündüm ancak her sayfada sorgu göndermek performansı etkiler.
CRM yazılımını anlık 100 kişi kullanıyor.
Sizce en mantıklı yol hangisidir. Gettext diye düşündüm ondada dosya mevzusu var. Wordpressi inceledim hep po dosyaları var hem json dosyaları (büyük ihtimal cache dosyaları)
Merhaba @rephp7,
Database için aynı tablodan diller için farklı sütunlarda veri tutuyorsan aşağıdaki gibi bir fonksiyon işine yarayabilir.
function changeLanguage($turkishVersion, $englishVersion)
{
if (($_SESSION['lang'] == 'en') && ($englishVersion != '') && ($englishVersion != NULL)) {
return $englishVersion;
}
return $turkishVersion;
}
Bu fonksiyonu dili değişmesini istediğin her türlü yerde kullanabilirsin.
Örnek:
//Db'de ingilizce ve türkçe için ayrı versiyon varsa;
echo changelanguage($veri[$i]["tr_baslik"],$veri[$i]["en_baslik"]);
//Bir metni değişmesini istiyorsan
echo changelanguage('Merhaba Dünya','Hello World');
//Decode edilen veriler için
echo htmlspecialchars_decode(changeLanguage($veri[$i]["tr_icerik"], $veri[$i]["en_icerik"]))
//Html çevirme
echo changeLanguage('<a href="">Buraya</a> tıklayarak ulaşabilirsin', 'You can access it by <a href="">clicking here</a>')
Fonksiyon sana bir örnek olsun kendi sistemine ve ihtiyacına göre bu şekilde fonksiyon yazarak sistemini güncelleyebilirsin.