PHP dil paketlerini nasıl uygulanacağını

3 Cevap php

İngilizce, İspanyolca ve Fransızca: benim site için 3 dil paketlerini oluşturulur. Ben sadece sorun kullanıcı seçimine göre onları uygulamak yaşıyorum. Ben menüyü aşağıdaki düşüş var:

<select onchange='document.location.href=this.options[this.selectedIndex].value;'>
  <option>Select</option>
  <option value="?lang=eng">US English</option>
  <option value="?lang=esp">Español</option>
    <option value="?lang=fra">Français</option>
</select>

Ben kullanıcının seçtiği ne dayalı dil dosyalarını içerebilir nasıl, ben sadece if statement olarak condition olarak koymak bilmiyorum.

Teşekkürler.

3 Cevap

İlk başta, kullanıcı kullanıcı oturumunda seçilen değeri kaydedin. örneğin:

switch($_POST['lang']) {
    case 'en': $_SESSION['lang'] = 'English'; break;
    case 'sp': $_SESSION['lang'] = 'Spanish'; break;
    default:   $_SESSION['lang'] = 'English'; break;
}

Her sayfa isteği üzerine, kaydettiğiniz değerine göre ilgili dil klasöründe dil dosyalarını getir.

Örneğin, bu nasıl dosya yapısını bakacağız:

  • English
    • Global.php
    • Register.php
  • Spanish
    • Global.php
    • Register.php

Bir metin dosyası yüklemek için gerektiğinde Sonra, kullanın:

function load_text_file($filename) {
    include 'languages/' . $_SESSION['lang'] . '/' . $filename.'php';
    return $txt;    // $txt should be an array
}
//...

$text = array(); $text += load_text_file('Global'); $text += load_text_file('Register');

Eğer bir sorgu dizesi yoluyla seçeneği getirerek konum olarak, sizinle erişebilirsiniz

$lang = $_GET['lang']

Benim şablonu için, o kod parçasıdır

$_SESSION['language'] = 'english';