v2.5.2
Giriş yap

Php çoklu dil ile ilgili beyin fırtınası

fire
558 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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ı)

okumusmr
953 gün önce

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.