[DİL SEÇİMİ] PHP ile XML oluşturma ve html içerisinde kullanımı

OGUZHANPW

Onlar ABC'yi öğrettiler ama DEF'yi biz öğrendik.
Mesajlar
42
En iyi cevaplar
0
Beğeniler
20
Puanları
0


Öncelikle, bu makalemde php içerisinde xml oluşturma ve bunu html içerisinde yazmadır. Konu çok basittir. Kodlara baktığınızda anlayacaksınız. Bu kod ile dil sürümleri geliştirebilirsiniz. Bu kod tamamen benim tarafımdan yazılmış olup herhangi bir hatası bulunmamaktadır.
Kod:
<?

// TR VE EN GELİŞTİRDİM. SİZ DAHA FAZLA ÜRETEBİLİRSİNİZ.
// @OGUZHANPW

$dil = $_GET['dil'];

if(($dil == '')){

    echo '<center>Lütfen Dil Seçiniz.</center>';

}elseif(($dil == 'tr')){
       
    $tr_paket = new domdocument('1.0', 'utf-8');
    $tr_tasarım = $tr_paket->createelement('tr_tasarım');
   
    $tr_paket->appendchild($tr_tasarım);
   
    $oguzhanpw = $tr_paket->createelement('oguzhanpw');
   
    $tr_tasarım->appendchild($oguzhanpw);
   
    $no_1 = $tr_paket->createelement("no_1","Ana Sayfa");
    $no_2 = $tr_paket->createelement("no_2","Market");

    $oguzhanpw->appendchild($no_1);
    $oguzhanpw->appendchild($no_2);

    $tr_paket->save("tr_dil_paketi.xml");

}elseif(($dil == 'en')){
       
    $en_paket = new domdocument('1.0', 'utf-8');
    $en_tasarım = $en_paket->createelement('en_tasarım');
   
    $en_paket->appendchild($en_tasarım);
   
    $oguzhanpw = $en_paket->createelement('oguzhanpw');
   
    $en_tasarım->appendchild($oguzhanpw);
   
    $no_1 = $en_paket->createelement("no_1","HomePage");
    $no_2 = $en_paket->createelement("no_2","Shop");

    $oguzhanpw->appendchild($no_1);
    $oguzhanpw->appendchild($no_2);

    $en_paket->save("en_dil_paketi.xml");
}

    header("Content-Type: text/html; charset=utf8");

?>
<html>
    <head>
        <title>OGUZHANPW DIL PAKETI TEST SAYFASI</title>
    </head>
    <body>
    <center>
        <span id="no_1"></span>
            <br>
        <span id="no_2"></span>
            <br>
            <br>
        <a href="?dil=tr">Türkçe</a>
            <br>
        <a href="?dil=en">İngilizce</a>
    </center>
    <body>
      <script>
    if(window.XMLHttpRequest){
        xmlhttp=new XMLHttpRequest();
    }else{
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET","<? if(($dil=='')){}elseif(($dil == "tr")){ echo 'tr_dil_paketi.xml'; }elseif(($dil == "en")){ echo 'en_dil_paketi.xml'; } ?>",false);
    // Settings and Create By OguzhaNPW
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML;
    document.getElementById("no_1").innerHTML= xmlDoc.getElementsByTagName("no_1")[0].childNodes[0].nodeValue;
    document.getElementById("no_2").innerHTML= xmlDoc.getElementsByTagName("no_2")[0].childNodes[0].nodeValue;
  </script>
</html>


Sistem dahada gelişebilir. Çok kolaydır. Eğer yapamassanız skype üzerinden yardım ederim.
Skype: oguzhannn4501at
 


Berk

Kızıltaş Madencisi
Mesajlar
600
En iyi cevaplar
0
Beğeniler
558
Puanları
1,240
Sondaki get değerini sildiğimiz anda dil sistemi uçar. Bu şekilde dil sistemi komple çöp ayak bağı yapmaktan başka bir işe yaramaz gerçekten dil sistemi kullanacak kişilere önerim ya kendi tema alt yapınızı kodlayıp bir dil entegre sistemi kullanın ya da hazır mesela Smarty kullanarak dil sistemi yapın.
 

OGUZHANPW

Onlar ABC'yi öğrettiler ama DEF'yi biz öğrendik.
Mesajlar
42
En iyi cevaplar
0
Beğeniler
20
Puanları
0
Sondaki get değerini sildiğimiz anda dil sistemi uçar. Bu şekilde dil sistemi komple çöp ayak bağı yapmaktan başka bir işe yaramaz gerçekten dil sistemi kullanacak kişilere önerim ya kendi tema alt yapınızı kodlayıp bir dil entegre sistemi kullanın ya da hazır mesela Smarty kullanarak dil sistemi yapın.
Dostum sistem geliştirilebilir. Mesela, belirtmiş olduğum kod üzerinde no_1 ve no_2 bunlar foreach döngüsünde yazılabilir ve o zamanda dil sistemi falan uçmaz.

Ayrıca _GET değeri yerine daha iyisi $dil = "tr"; yazılırsa veya tr yerine veritabanı bağlantısı yapılıp tablodan veri çekebilirsiniz. Ben sadece sistem test edilebilsin diye yaptım.

Hazır sistem, hazır sistem nereye kadar? Biraz da kendimiz kodlayalım değil mi ?

Ayrıca ayak bağı derken de ne demek istediğinizi anlayamadım? Bir kodlayıcıya, kod ayak bağı oluyor ise o işi yapmasın bence..
 

Berk

Kızıltaş Madencisi
Mesajlar
600
En iyi cevaplar
0
Beğeniler
558
Puanları
1,240
Dostum sistem geliştirilebilir. Mesela, belirtmiş olduğum kod üzerinde no_1 ve no_2 bunlar foreach döngüsünde yazılabilir ve o zamanda dil sistemi falan uçmaz.

Hazır sistem, hazır sistem nereye kadar? Biraz da kendimiz kodlayalım değil mi ?

Ayrıca ayak bağı derken de ne demek istediğinizi anlayamadım? Bir kodlayıcıya, kod ayak bağı oluyor ise o işi yapmasın bence..
Sen benim ne demek istediğimi çan yanlış anladım. Dediğim şu ki yazdığın kod çöp. Çünkü url sonuna get değeri ile dil çekiyorsun bunun üzerine sayfalama sistemi kurmaya kalktığın zaman bu çok ayrı bir dert olucaktır. Ayırdan bu yazdığın kodda yerleşik bir sistem yok bu yüzden senin yazdığın bu kodu biri kullanmaya kalktığında şayet ki bir bilgisi olan biri böyle bir kodu kullanacağını zannetmiyorum o ayrı mesele her seferinde bir div oluşturacak bunun üzerine js ile yazdıracak js ile yazdırma için bile onun js kodunu yazacak. Ne dinamik ne de kullanışlı bir sistem. Tamam seni anlıyorum internette bulunan dil sistemlerinden farklı bir sistem geliştirmeye çalışmışsın xml kullanarak ama internette olan dil sistemleri daha yararlı.
 

OGUZHANPW

Onlar ABC'yi öğrettiler ama DEF'yi biz öğrendik.
Mesajlar
42
En iyi cevaplar
0
Beğeniler
20
Puanları
0
Sen benim ne demek istediğimi çan yanlış anladım. Dediğim şu ki yazdığın kod çöp. Çünkü url sonuna get değeri ile dil çekiyorsun bunun üzerine sayfalama sistemi kurmaya kalktığın zaman bu çok ayrı bir dert olucaktır. Ayırdan bu yazdığın kodda yerleşik bir sistem yok bu yüzden senin yazdığın bu kodu biri kullanmaya kalktığında şayet ki bir bilgisi olan biri böyle bir kodu kullanacağını zannetmiyorum o ayrı mesele her seferinde bir div oluşturacak bunun üzerine js ile yazdıracak js ile yazdırma için bile onun js kodunu yazacak. Ne dinamik ne de kullanışlı bir sistem. Tamam seni anlıyorum internette bulunan dil sistemlerinden farklı bir sistem geliştirmeye çalışmışsın xml kullanarak ama internette olan dil sistemleri daha yararlı.
Açıkçası bu sistemi ben baya bi geliştirdim. şu an dil sistemimi istediğim gibi kullanabiliyorum ve bu yüzden de burada paylaştım fakat dediğim sistem footer.php bölümüne eklenebilir. Dediğim gibi sistemi geliştirdiğinizde istediğiniz tarzda kullanabilirsiniz. Önemli olan bunu düşünebilmek ve nerede nasıl kullanacağını doğru bir biçimde bilmektir..

Ayrıca bu sistem ile RSS bağlantılarıda oluşturabilirsiniz. Yeni bir haber olduğunda direk düşücek biçimde.. Dediğim gibi her yerde kullanabilirsiniz.
 

hacii_

Zombi Katili
Mesajlar
168
En iyi cevaplar
0
Beğeniler
80
Puanları
240
Eğer sıfırdan bir dil sistemi yapacaksanız benim önerim: sadece client tabanlı (javascript) olmalı.
Dil dosyalarını xml yada json farketmez ama ben olsam json kullanırdım çünkü javascript ile çekmesi hem kolay hemde hızlı.
Ben projemi böyle hazırlardım:
Kod:
#Proje-Dosyası
  -index.html
  #lang
    -tr.json
    -en.json
    -pt.json
    -de.json
  #js
    -lang.js
  #css
    -reset.css
PHP:
{
  "dil": "tr-Türkçe",
  "mesaj1": "Evet",
  "mesaj2": "Hayır",
  "mesaj3": "Tarih",
  "mesaj4": "Giriş Yap"
  "mesaj5": "Çıkış"
}
Varsayılan bir dil seçersiniz: Örnegin sayfanıza ilk defa girenler Türkçe bir sayfa görsün.
Dil degiştirdiginde dil çerezde tutulur. Sayfa degiştikçe yada yeniledikçe aynı dil sayfada döner.
Kod:
var default_lang = "tr";
if( secili.dil.yoksa ){
  document.cookie = "lang=" + default_lang;
}
 

OGUZHANPW

Onlar ABC'yi öğrettiler ama DEF'yi biz öğrendik.
Mesajlar
42
En iyi cevaplar
0
Beğeniler
20
Puanları
0
Eğer sıfırdan bir dil sistemi yapacaksanız benim önerim: sadece client tabanlı (javascript) olmalı.
Dil dosyalarını xml yada json farketmez ama ben olsam json kullanırdım çünkü javascript ile çekmesi hem kolay hemde hızlı.
Ben projemi böyle hazırlardım:
Kod:
#Proje-Dosyası
  -index.html
  #lang
    -tr.json
    -en.json
    -pt.json
    -de.json
  #js
    -lang.js
  #css
    -reset.css
PHP:
{
  "dil": "tr-Türkçe",
  "mesaj1": "Evet",
  "mesaj2": "Hayır",
  "mesaj3": "Tarih",
  "mesaj4": "Giriş Yap"
  "mesaj5": "Çıkış"
}
Varsayılan bir dil seçersiniz: Örnegin sayfanıza ilk defa girenler Türkçe bir sayfa görsün.
Dil degiştirdiginde dil çerezde tutulur. Sayfa degiştikçe yada yeniledikçe aynı dil sayfada döner.
Kod:
var default_lang = "tr";
if( secili.dil.yoksa ){
  document.cookie = "lang=" + default_lang;
}
Olabilir, başarılı..
 

Admicos

Nether Yerlisi
Mesajlar
2,362
En iyi cevaplar
1
Beğeniler
1,580
Puanları
4,890
Ruh hali
Eğer sıfırdan bir dil sistemi yapacaksanız benim önerim: sadece client tabanlı (javascript) olmalı.
Merak ediyorum da, neden? NoScript, uMatrix vb. kullanıp sadece belirli yerlerden JS görmek isteyenlere sayfa bomboş gözükür. Aşağıdakinin olmasını istemem ben açıkçası.

 

hacii_

Zombi Katili
Mesajlar
168
En iyi cevaplar
0
Beğeniler
80
Puanları
240
@Admicos yıl olmuş 2017 sen diyosun javascripti kapatıp girsek
arkadaşta zaten javascript kullanmış hiçbir <script> etiketi çalışmayacak
jquery, ajax, bir sürü javascript kütüphanesi var.
yani sen tarayıcında javascripti kapatsan bile o sitenin çalışma mantıgı kalmıyor.
 

Üst