"Enter"a basıp içeriğe geçin

Langy – PHP dil yönetim sınıfı

Selamlar,

Kendi kullanımım için geliştirdiğim, ancak daha sonra GitHub’a yüklediğim sınıfımdan bahsedeceğim ve kullanımını göstereceğim.

Langy, çok basitleştirilmiş bir sınıftır ve kullanımı çok basittir.

Dil dosyası oluşturmaya gelecek olursak, dil dosyalarını tutacağınız bir dizin belirleyin. örneğin “languages/”.

Bu dizinin içerisine dil dosyalarınızı “.langy” formatında istediğiniz dil ismiyle oluşturabilirsiniz. (“en.langy”, “tr.langy” gibi.)

Dil dosyasının içeriğini oluşturmaya gelirsek, JSON formatında yazmalıyız. Ayrıca JSON öğelerlerinin içine JSON kodlu girerek. (Çocuk öğeler)

Ayrıca, “Hesabınızda 10 ₺ bakiye var.” gibi dinamik yazılar için de değişkenler atanabilir. Değişkenleri dil dosyalarına {%değişken_adı%} biçimde yazabilirsiniz.

Örnek bir dil dosyası yazalım.

{
    "site_baslik": "Langy denemesi",
    "anasayfa": {
        "baslik": "Langy",
        "bakiye": "Hesabınızda {%miktar%} {%para_birimi%} bakiye var.",
    }
}

Artık asıl kullanımımıza geçebiliriz. GitHub üzerinden indireceğiniz “langy.php” sınıfını indirip, dil dosyası derleyeceğiniz her bir dosyaya “require_once” kullanarak dahil etmelisiniz.

İlgili kullanımı aşağıda yorum satırlarında anlatarak verdim.

<?php

require_once __DIR__ . "/langy.php"; // Langy dahil ediliyor.

$lang = new Langy;

$lang->setLangDir("languages"); // Dil dosyası dizinimizi Langy'e bildiriyoruz.
$lang->setLang("en"); // Kullanılacak olan dilin, dil dizindeki adıdır. ".langy" uzantısını dahil etmeyin.
?>
<!DOCTYPE html>
<html>
<head>
    <title><?php echo $lang->echo("site_baslik"); // Dil dosyanızdan basit bir yazdırma işlemi. ?></title>
</head>
<body>
    <center>
	    <h1><?php echo $lang->echo("anasayfa->baslik"); // Çocuk öğelerin yazımı. ?></h1>

	    <h2><?php echo $lang->echo("anasayfa->bakiye", ["miktar" => "100", "para_birimi" => "₺"]); // Bir öğedeki değişkenleri ayarlayarak yazdırma. ?></h2>
  </center>
</body>
</html>

Yorum satırlarını dikkatlice okuduğunuzda muhtemelen sistemi anlayacaksınızdır.

Zamanınızı ayırdığınız için teşekkürler.

Langy: https://github.com/BenEgeDeniz/Langy

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir