Projelerinize çok dil konuşmayı öğretin!

Dikkat: Bu yazının yazılma tarihinin üzerinden en az 60 gün geçmiş. İçerisindeki bilgiler güncelliğini yitirmiş olabilir. Yorumları ve güncellemeleri göz önünde bulundurarak yazıyı takip ediniz.

Farklı programlama dillerine göre çözümler.

Bu döküman sadece php projeler için değil, tüm programlama dillerinde kullanabileceğiniz bir yapıyı anlatmaktadır. İçindeki tüm yapılar çoğu dilde mevcuttur. Ben web basisli bir dilde, daha kolay anlatabileceğimi ve daha çok web programcıların bu dökümandan faydalanacağını düşünüyorum.

Seçeneklerim Neler?

Projenizi yazarken 2 yol izlemiş olabilirsiniz, birincisi modüler, template yapısına benzer bişeyler, yani bütün proje index.php veya module.php veya buna benzer tek dosya üzerinde yorumlanıyordur. Yada projede her dosya farklı biçimde, index.php, giris.php, forum.php, dosyalar.php vs böyle gider. İkisi için hibişey değişmeyecektir. Amaç bir dil yorumlayıcısını her dosyanın başında çalıştırmak.

Peki bu dil yorumlayıcısı ne iş görecek?

Bu dil yorumlayıcısı oturumdaki dil değişkenine göre bütün içeriği oturumdfaki kayıtlı dile göre ayarlamamızı sağlayacaktır. Daha açık konuşursak tercümanımız olacaktır :-) Şimdi daha rahat anlayabileceğiniz uygulamaya geçelim.

Diyelimki sitemiz farklı farklı sayfalardan oluşuyor. (index.php, dosyalar.php, ziyaretci_defteri.php vs...)
Normal bi şekilde kendi dilimizde yazıp bitiriyoruz projemizi.. Ben burada tek bir dosya üzerinde örnek göstereceğim;

Önce dizin yapımıza dil diye bir klasör ekliyoruz;
Son yapı şuna benzer olsun;
Proje
 |
 |- <dir>  moduller
 |- <dir>  include
 |- <dir>  dil
 |          |- tr.php
 |          |- ...
 |          '- en.php
 |
 '---.- index.php
     |- giris.php
     |- dokumanlar.php
     |- dosyalar.php
     |- dilsec.php
     '- dil.php
Bu şekilde bir dizin yapımız olsun.. (buradaki örnek sadece :-) )(sadece dil dizini, dilsec.php ve dil.php'ye dikkat edin. dil dizininde dil dosyaları olacak tabiki)
Kullanıcılar için arabirim basan tüm dosyalarda başında dil.php'yi include edin. Bu tercümanımızdı bizim.

Neden tercümana ihtiyacımız var?

Çünkü birisi sayfa açılmadan/çalışmadan önce dili seçmeli, ve bu dile ait çeviriyi yapmalı.

Peki çeviriyi sayfalarımızda nasıl uygulayacağız?

Sayfalarımızda basitçe metinleri yazdık ve siteyi bitirmiştik değil mi? Mesela Menümüz şöyle idi;
<!-- MENU -->
<a href="index.php">Anasayfa</a>
<a href="dosyalar.php">Dosyalar</a>
<a href="#...">Linkler</a>
Yani kullanıcılar doğrudan bir yazıyı statik olarak görüyorlardı. Tek yapmamız gereken şey, çevirilerimizi değişkenlerde tutmak, Zaten tercüman dosyamız dile göre bu değişkenleri değiştirecektir. Sizin kodda oynama yapmanıza gerek kalmaz. Tercüman otomatik olarak seçer ve bu değişkenleri ayarlar. Ekrana seçili dil basılır.
Yani yukarıdaki kodumuz şu şekilde olmalıdır;
<!-- MENU -->
<a href="index.php"><?=$dil["menu_anasayfa"];?></a>
<a href="dosyalar.php"><?=$dil["menu_dosyalar"];?></a>
<a href="#..."><?=$dil["menu_linkler"];?></a>
Amacımız, daha önce kullanıcının önüne getirdiğimiz (print ettiğimiz veya etmediğimiz) tüm metinleri değişkenlerle değiştirmek.

Şimdi bu dökümandaki örneğe ait hazırladığım index.php ve dosyalar.php'yi dökümanın sonunda bulacaksınız, bunları inceleyin. Bütün içeriğe ait kısımlarda değişkenler göreceksiniz. $dil diye bir dizide toplanıyor olacaktır bunlar..

Bu değişkenleştirme işlemini yaparken kendi dilimizdeki çeviri dosyamızı da hazırlamış oluyoruz. dil klasörüne o dildeki (bilgisayara göre tabiki) dilin kısaltmasına ait bir dosya oluşturuyoruz. (Türkçe için tr.php, İngilizce için -english- en.php, İspanyolca için -espanol- es.php gibi..) Bu dosya şu şekilde olacak biçimde değişkenlerimizi çevirerek koyuyoruz.

Türkçe çeviri dosyamız;
<?php
/*
   TURKCE CEVIRIYE HOSGELDINIZ
   Ceviren : Mehmet Fatih YILDIZ
*/

unset($dil);

// dil dosyasi ayarlari
   $dil["dil"]                     = 'Türkçe';
   $dil["dil_seciniz"]             = 'Dil Seçiniz';

// site degiskenleri
   $dil["site_basligi"]            = 'Bilmemne Projesi Sayasi';

// menu
   $dil["menu_anasayfa"]           = 'Anasayfa';

   $dil["menu_dosyalar"]           = 'Dosyalar';
   $dil["menu_linkler"]            = 'Linkler';

// uye girisi paneli
   $dil["uye_giris_k_adi"]         = 'Kullanici Adi';
   $dil["uye_giris_sifre"]         = 'Sifre';
   $dil["uye_giris_buton"]         = 'Giris Yap';

// dosyalar bolumu
   $dil["dosyalar_bolum_basligi"]  = 'Dosyalar';
   $dil["dosyalar_dosya_listesi"]  = 'Dosya Listesi';
   $dil["dosyalar_dosya_adi"]      = 'Dosya Adi';
   $dil["dosyalar_dosya_boyutu"]   = 'Boyut';
   $dil["dosyalar_eklenme_tarihi"] = 'Eklenme Tarihi';
   .
   .
   .

?>
İngilizçe çeviri dosyamız;
<?php
/*
   WELCOME TO THE ENGLISH TRANSLATION
   Translator : Micheal Jackson :P
*/

unset($dil);

// language file settings
   $dil["dil"]                     = 'English';
   $dil["dil_seciniz"]             = 'Select Language';

// site variables
   $dil["site_basligi"]            = 'Bilmemne Project Homepage';

// menu variables
   $dil["menu_anasayfa"]           = 'Home';

   $dil["menu_dosyalar"]           = 'Files';
   $dil["menu_linkler"]            = 'Links';

// user login section
   $dil["uye_giris_k_adi"]         = 'User Name';
   $dil["uye_giris_sifre"]         = 'Password';
   $dil["uye_giris_buton"]         = 'Login';

// files section
   $dil["dosyalar_bolum_basligi"]  = 'Files';
   $dil["dosyalar_dosya_listesi"]  = 'File List';

   $dil["dosyalar_dosya_adi"]      = 'Filename';
   $dil["dosyalar_dosya_boyutu"]   = 'Size';
   $dil["dosyalar_eklenme_tarihi"] = 'Date';
   .
   .
   .
?>
Burada sadece Türkçe ve ingilizcesini yazdım, rahatlıkla çoğaltabilirsiniz/çoğalttırabilirsiniz..

Gördüğünüz gibi içerikleri oldukça basit. Tek yaptığımız metinlerimizi değişkenlere dönüştürüp içeriklerini bir dosyaya (çeviri dosyalarımız) yazmak. Projeleriniz bu şekilde yapıp, Mesela sadece kendi ana dilinizde yapıp, bilen insanlara bu dosyaları verip çevirmelerini isteyebilirsiniz. Bu işlem hem zahmetsiz hem de çok işe yarar. Ben çoklu dilli projelerimde çok fazla dili bilmeden bilen arkadaşlarımın sayesinde ekledim ;-)

Çeviri dosyalarımızı da yazdık, bütün projede değişken dışında bişey kalmadı, (Bu örneğe ait index.php'yi ve dosyalar.php'yi bu dökümanın sonunda görebilirsiniz.)

Tercüman dosyası

Şimdi gelelim çeviri dosyalarını seçecek ve siteye uygulayacak olan tercümanımızı kodlamaya :-) Önce kodu vereyim, sonra açıklayalım.
<?php

session_start();

# oturuma gore dil seciyoruz
$secili_dil = $_SESSION["dil"];

# eger dil oturumda secili degilse
if( empty($secili_dil) ){
  # dili browser ayarina gore otomatik sectiriyoruz.
  $secili_dil = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
  if( !file_exists("dil/".$secili_dil.".php") ){
    # eger o dile ait ceviri dosyasi yoksa site icin varsayilan dili sectirelim.
    # bizim site icin turkce olsun
    $secili_dil = 'tr';
  }
}

# oturuma kaydedelim
  $_SESSION["dil"]=$secili_dil;

# simdide ceviri dosyasini yukleyelim
include("dil/".$secili_dil.".php");

?>
Kodu açıklayalım; ilk önce $secili_dil degiskenine oturumda kayitli olan dili aliyoruz, eğer oturuma kaydedip onu seçtirmezsek, kullanıcı, browser'in geçerli dilinden başka bir dil seçtiğinde her sayfada bu değer sıfırlanacak ve browser'in geçerli dili ile görüntülenecektir. Bunu yaparak oturum boyunca aynı dilde kalmayı sağlıyoruz. Cookie desteği koyup da hangi bilgisayarda hangi dilde gösterilecek bunu da rahatlıkla kontrol ettirebiliriz. Devam edelim; eğer dil değişkeni boş ise, demektir ki, kullanıcı ilk sayfasında ve dil seçilmedi. Site için uygun olan geçerli dili seçtirmeliyiz. Öncelikle kullanıcının tarayıcı bilgisinden tarayıcısını hangi dilde kullanıyor bunu bulduralım. Mesela Türkçe işletim sistemi, ve Türkçe tarayıcı kullanıyorsa sayfasyı Türkçe göstermemiz muhtemel olacaktır. İspanyol girdiğinde siteye, tarayıcısı ispanyolca olduğundan otomatik olarak site ispanyolda açılacaktır böylece.. :-) $secili_dil = $_SERVER["HTTP_ACCEP_LANGUAGE"]; ile bunu sağlamış olduk. Çeviri dosyalarımız dil klasöründe idi. Şimdi çeviri dosyamızı yüklememiz gerek. Ancak eğer tarayıcıda bulunan dil'e ait çeviri dosyamız yok ise sistem hata verecektir, çeviri görünmeyecektir. Bunun için dosya varmı kontrol ettiriyoruz. Eğer yoksa bize göre, yani projenin ana diline göre $secili_dil'e istediğimiz çeviri dosyasının adını giriyoruz. Bu örnekte Türkçe olmasını istediğimiz için "tr" girdik. Daha sonra oturuma daha sonraki sayfalarda bu dil görünmesi için dil değişkenini kaydettik ve son olarak çeviri dosyamızı yükledik. Böylece dosyanın devamında basılacak değişkenler seçili olan dile göre yer alacaktır.

Dil seçimi

Şimdi index dosyamıza dil seçici bir seçim kutusu koyuyoruz. Kodu şuna benzer olacaktır;
<select onChange="window.top.location='dilsec.php?dil='+this.value;">
  <option value="tr">Türkçe</option>
  <option value="en">English</option>
  <option value="de">Deutch</option>
  <option value="es">Espanol</option>
  .
  .
  .
</select>
Görüldüğü gibi seçildiği anda dilsec.php dosyasına dil değişkenini GET methodu yöntemi ile gönderiyoruz.
dilsec.php dosyamız da, aktif bulunan oturumda kullanıcının sitenin dilini değiştirmesini sağlayacaktır.
Kodu şu şekilde;
<?php

session_start();

# bilgiyi alalim
$dil=$_GET["dil"];

# dil dosyasi varsa;
if( file_exists("dil/".$dil.".php") ){
  #oturuma kaydediyoruz
  $_SESSION["dil"]=$dil;
}

# anasayfaya yonleniyoruz.
print '<script>location="index.php";</script>';
exit;

?>
Yapılan işlem çok basit. GET methodu ile gelen değişkene ait çeviri dosyası VAR ise oturuma o dili kaydedip anasayfa'ya geri dönüyoruz. Böylece projemiz çok dilli olmuş olacaktır. Aşağıdaki index ve dosyalar.php'nin içeriklerini yukarıdaki anlatımla birleştirirseniz daha rahat alnayabilirsiniz.

index.php
<?php

// dili sectiriyoruz.
include("dil.php");

?>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
 <title><?=$dil["site_basligi"];?> - (Lang:<?=$dil["dil"];?>)</title>
</head>
<body>

<h1><?=$dil["site_basligi"];?></h1>

<!-- MENU -->
<a href="index.php"><?=$dil["menu_anasayfa"];?></a>
<a href="dosyalar.php"><?=$dil["menu_dosyalar"];?></a>
<a href="#..."><?=$dil["menu_linkler"];?></a>

<!-- DIL SECME FORMU -->
<?=$dil["_dil_seciniz"];?> : 
<select onChange="window.top.location='dilsec.php?dil='+this.value;">
  <option value="tr">Türkçe</option>
  <option value="en">English</option>
  <option value="de">Deutch</option>
  <option value="es">Espanol</option>
  .
  .
  .
</select>

<!-- UYE GIRIS PANELI -->
<form action="giris.php">
 <?=$dil["uye_giris_k_adi"];?> : <input type="text" name="kadi"><br>
 <?=$dil["uye_giris_sifre"];?> : <input type="password" name="sifre"><br>
 <input type="submit" value="<?=$dil["uye_giris_buton"];?>"><br>
</form>

.
.
.

</body>
</html>
dosyalar.php
<?php

// dili sectiriyoruz.
include("dil.php");

?>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
 <title><?=$dil["site_basligi"];?> - (Lang:<?=$dil["dil"];?>)</title>
</head>
<body>

<h1><?=$dil["site_basligi"];?> / <?=$dil["dosyalar_bolum_basligi"];?></h1>

<!-- MENU -->
<a href="index.php"><?=$dil["menu_anasayfa"];?></a>
<a href="dosyalar.php"><?=$dil["menu_dosyalar"];?></a>
<a href="#..."><?=$dil["menu_linkler"];?></a>

<!-- DOSYA LISTESI -->
<?
// dosya listesini ureten php kodu ..
?>
<!-- DOSYA LISTESI YAZISI -->

<br><?=$dil["dosyalar_dosya_listesi"];?><br>

<!-- DOSYA LISTESI TABLOSU -->
<table border="1">
  <tr>
    <td><?=$dil["dosyalar_dosya_adi"];?></td>
    <td><?=$dil["dosyalar_dosya_boyutu"];?></td>
    <td><?=$dil["dosyalar_eklenme_tarihi"];?></td>
  </tr>

  <? 
  // dosya listesini ekrana basan php kodu ..
  ?>

</table>

.
.
.

</body>
</html>
Hemen küçük bir uygulama da siz yazın.


Hazırlayan : Mehmet Fatih YILDIZ

Yorumlar

Üye Resmi Ömer KESLER
17 Şubat Pazar ´08 11:59
Çok güzel hazırlamışsınız belirtmeden geçemedin. Elinize sağlık.. Ayrıca Yazını anlatım şekli de tam oturmuşş.... tebrikler... başarılar mehmet bey..
Üye Resmi Okan KOSAR
2 Nisan Çarşamba ´08 09:15
ACİL YARDIM,
Bilgiler özenle hazırlanmış teşekkürler.
Bir sorunum var aşağıdaki komutta "metin" yerine <?=$dil["dosyalar_dosya_adi"];?> komutunu nasıl kullanabilirim.

Şimdiden teşekkürler.
{
header("Location: gen_confirm.php?errmsg=".urlencode("metin"));
die();
}
Üye Resmi Okan KOSAR
3 Nisan Perşembe ´08 12:53
aynı şekilde  "metin" yerine <?=$dil["dosyalar_dosya_adi"];?> komutunu nasıl kullanabilirim.

Şimdiden teşekkürler.
{

$approved="no";

$sb_msg='metin';

}
4 Nisan Cuma ´08 00:10
'metin'
yerine
$dil["dosyalar_dosya_adi"]
kullanmalısın
Üye Resmi DeVKaN Echo Print
28 Ağustos Perşembe ´08 03:03
Baba Sana Başka Hiç Bişey Demiyorum Ben İnternet Cafe İşletiyorudum Ve Can Sıkıntısından Bu Php Denen İllete Saldım Kednimi. Her Kez Sql Mysql Phpmy Adminmiş Data Basmış Echo Printmiş Bişeyler Yazıyor Ve Deli Oldum Olmadı Olmadı Yapamadım Etrafımda Bilgili İnsanda Yoktu Açık Açık Anlatacak Ama Bilek Zoruyla Degil Belki Beğin Zoruyla Deneme Yanılma İle Ögrendim Ama Bu Benim Yaklaşık 7 8 Senemi Aldı Ginede Profeesionalım Diyemem Ama En Azından Yazabiliyorum Basit Bir Portal Kurabilirim

Demem O Ki ;
OZamanlar Sene 2000 2001 Ler Civarı Bu Siteyi Senin Bu Yazılarını Okusaydım Simdi Cok Cok İlerde Olucaktım hIzlı İlerlicektim Hic Bilmiyen Bir İnsan Bile Sadece Bu Sitede Yazdıklarınla Cok Rahat Bir Portal Olmasada Site Yapar

Gerçekten Mükemmelsin Hayatında Başarılar
Üye Resmi a.Yıldız
7 Ekim Salı ´08 00:09
Çok güzel bir paylaşım eline sağlık...
Üye Resmi Firuz
27 Ekim Pazartesi ´08 15:14
Süper olmuş, tebrik ederim...ellerinize sağlık..herkese faydası olacaktır eminim.
Üye Resmi Ahmet ERGİNER
13 Kasım Perşembe ´08 19:19
Hocam çok güzel açıklamışsın tebrik ederim. Benim bir sorum var. $dil["dil"]= 'Türkçe'; değilde define("_DIL", Türkçe); kullanmak istiyorum yazaması daha kolay geliyor   :-)  sizce bir sakıncası varmıdır?
Üye Resmi Yeşim Ak
3 Şubat Salı ´09 14:23
Verdiginiz yararli bilgiler için çok teşekkürler. Gayet anlasilir bil dil kullanmissiniz.
Üye Resmi Ece S.
3 Şubat Salı ´09 14:33
Cok aciklayici ve faydali bilgiler vermişssinz. Site yapmayi yeni ögreniyorum. Yazdiklarinizdan faydalanacagim. Tesekkürler paylasim icin.
Üye Resmi Devekip
27 Nisan Pazartesi ´09 18:26
Merhabalar Mehmet Abi =)

include(\"dil/\".$secili_dil.\".php\");

peki burada güvenlik açığı oluşmazmı?
Üye Resmi Kemal
7 Temmuz Salı ´09 20:49
$_SERVER["HTTP_ACCEPT_LANGUAGE"] değişkeni her tarayıcıda farklı değer döndürebiliyor. Buna dikkat ettiniz mi?
8 Temmuz Çarşamba ´09 15:07
Evet çünkü o bilgiyi tarayıcı gönderiyor. Tahminimce şu sıralamaya göre bakıyor :

Ayarlardaki bölge seçenekleri (firefox'da dil ile ilgili bölümde var)
eğer bu yoksa
Trayıcının dili (program dili yani)
eğer server bilgi almıyorsa
ip'ye göre tahmin edilen bölge dili.

Yani bu bilgi kısmen kullanıcı hakkında bilgi verir. Genellikle doğrudur ama kesin değil tabiki. Yani Türkiye'de tarayıcısının bölge seçeneklerini ayarlamamış ve ingilizce program kullanan bir sürü insan var (mesela ben).
Üye Resmi Ercan Bilgi
8 Ocak Cuma ´10 14:16
hocam merhaba,

<?=$dil["dosyalar_dosya_adi"];?>

gibi yaparken <? olduğundan serverde php open_short_tag açılı değilse bu kodlar çalışmıyor, bunun uzun hali nasıl oluyor? Yani doğru düzgün kodlama yapmak için kısa tag kullanmamak gerekir.
8 Ocak Cuma ´10 17:32
<?php

şeklinde kullanmak gerekir. kapanış tag'i aynı ?>
Yani :

<?php=$dil["dosyalar_dosya_adi"];?>
Üye Resmi Onur Toker
25 Ocak Pazartesi ´10 15:37
Hocam öyle çalışmaz.

<?php print $dil["dosyalar_dosya_adi"];?> şeklinde yapılırsa(print yerine echo'da olur) çalışır, diğer türlü hata verecektir.
Üye Resmi Musa Bülbül
1 Nisan Perşembe ´10 17:35
Süper bir çalışma
az önce anlatılanları yaptım gerçekten şahane bir sistem

Yanlız benim ufak bir sorunum var
dil değiştirilince index.php sayfasına atıyor
belkide kullanıcı dil secenegini farketmemiş ve bir alt sayfaya geçmiştir.
Bu sebeble eger dil secildiginde kullanıcı hangi sayfadaysa yine oraya yönlendirse çok tatlı olur.

Iyi çalışmalar..
5 Nisan Pazartesi ´10 11:09
$_SERVER[HTTP_REFERER]
değişkeni kullanıcının hangi sayfadan geldiğini ifade eder.

dil.php dosyasında
print '<script>location="index.php";</script>';
yerine
print '<script>location="'. $_SERVER[HTTP_REFERER] .'";</script>';
yazarsanız kullanıcı geldiği sayfaya geri gönderilir.
Üye Resmi Musa BüLBüL
14 Mayıs Cuma ´10 19:50
Tşk ettim hocam
Şuan yeni bir hata farkettim bu konuda yardımınızı bekliyorum

Sorunum:
Normal bir dosya oluşturup yazılımın karektersetinide
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
ile iso olarak belirliyorum sorun yok..

Ben şimdi dosya karekter setini ut-8 yaptım ve yazılımın karekter setinide utf-8 yaptım
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Ve sayfaya girdigimde şu hatayı alıyorum

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\daily\index.php:1) in D:\AppServ\www\daily\sitedili.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\daily\index.php:1) in D:\AppServ\www\daily\sitedili.php on line 2

Sitedili.php dosyasındaki ikinci satırdada şu var
session_start();

Ne yapmam lazım acaba ?
Üye Resmi tre
12 Ağustos Cuma ´11 14:44
@Musa BüLBüL ob_start(); kullanin sayfanin en basinda
Üye Resmi ahmet
19 Kasım Cumartesi ´11 14:24
birde şöyle bir  sorun var birincisi sayfa kullanım ile ilgili dil yapısı yani yukarıdaki örnek ikincisi ise içerik ile ilgili dil yapısı benim sorunumda ikincisi ile ilgili mesela içerik ile ilgili dil yapısını önbellekte tutuyorum fakat her dile ayrı ayrı önbellek  tutmam gerekiyor onun için tutmak istediğim önbellek kayıtlarını her dile göre ayrı klasöre atıyorum onuda şöyle yapıyorum yeni bir dil oluşturulduğu zaman önbellekte o dil ismine ait klasör oluşturuyorum sonra o  dile ait verileride o dosya içine atıyorum ama bundan emin  tam emin değilim güvenlik açısından klasör oluşturmak ne derece güvenli yoksa klasörlerde değilde veritabanında mı tutmalıyım ama o zamanda her seferinde yine sorgu yapacak hangisi ile devam etmeliyim bir fikriniz varmı
1 sinin avantajı cache dosyaları klasörlere tamponlandığı için çok hızlı bir sayfa erişimi sağlayabiliyorum dezavantajı ise 'hala emin değilim' klasör oluşturmanın tehlikeli yönü olabileceği

2 sinin de her seferinde sorgulama gibi dezavantajı var avantajı ise güvenlik yönünden rahatsın

yani oluşturulan klasörlerin veya klasör içindeki dosyaların modu değiştirilemezse şayet uzaktan  kontrolle içine veri yazılabilir mi
Üye Resmi kamber anadol
7 Nisan Cumartesi ´12 15:38
dğerli abilerim ve ablalarım her neyse ben bir online dil çevirme sitesi php ile yapacam ama nasıl yapacağımı bilmiyorum bana bu konuda yardımcı olursanız sevinirim şimdiden teşekkürler
Üye Resmi Mustafa
27 Ekim Cumartesi ´12 11:43
Merhaba hocam peki $_GET ile gelen değeri ELSE İF ile bir kontrolden geçirip EN ile gelenleri index_en.php TR ile gelenleri index.php ' ye yönlendirebilir miyiz?
Üye Resmi h. osman inan
15 Temmuz Pazartesi ´13 13:54
Merhabalar öncelikle bende kendi kendime deneme yanılma yolu ile php ile uzun zamanır ilgilenen birisyim ve genelde hazır joomla tarzı scritleri kullanırdım  fakat rent a car icin guzel bi script  buldum ve onu editledim.. Sayfa bitiminde dil eklemek zorunda idim ve sitnizdeki bu döküman sayesinde ilk defa kendim codeler ile birseyler basardım:) bu bana kendimi cok ii hissettirdi.. fakat bir session sorunum var.. index'e değilde tepe.php die bir dosya var ve her sayfada var bu oraya  ekledim ben dil secme panelimi... fakat nereye eklersem ekliyim bana asagıdaki hatayı veriyor.. yardımcı olursanız cok seviniceğim.. tesekkurler...


 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/bluxberr/domains/antesc.frihost.org/public_html/kurumsal.php:47) in /home/bluxberr/domains/antesc.frihost.org/public_html/dil.php on line 2 


 not bu  hataytı ana sayfa ve iletisim sayfası haric diğer 3 sayfada  verior birisi kurumsam oradaki hatayı ilettim size yardımcı olursanız sevinicem..
Üye Resmi h. osman inan
22 Temmuz Pazartesi ´13 14:04
Selamlar.. Sanırım sorumuza cevap yok .. peki son olarak birsey sormak istiorum uzun bir metin var hakkında sayfası gibi mesela bunu nasl translate edicez? yani 2 paragraf yazı var oldugu gibi paragrafımı dil dosyasının icine eklicez yoks anasıl olucak ?
Üye Resmi windofelm
6 Ekim Pazar ´13 09:35
Emeğinize sağlık, güzel paylaşım ..
Üye Resmi serkanselvi
15 Aralık Pazartesi ´14 07:03
elinize sağlık güzel paylaşım olmuş ancak benim şöyle bir sorum var. sef urlleri nasıl dil dosyasında tercih ettirebiliriz. saygılar.
Üye Resmi serkanselvi
15 Aralık Pazartesi ´14 07:21
bir de seçili dil olarak düzenleme yapamadım
Üye Resmi murat demirci
30 Kasım Pazartesi ´15 05:54
iyi günler benim şöyle bir sıkıntım var ben sitemde çoklu dil kullanmak istiyorum tabloma her sutundan 2 tane oluşturdum ve sonlarına _tr, _en gibi uzantılar ekledim ve sessionıma göre veri tabanından listelemek istiyorum ama sorgumda bir hata oluşuyor.yapmak istediğim sorgu şu
select urun_adi_(bu kısma sessiondan gelen dile göre tr veya en yazmasını istiyorum) ki dile göre veri tabanımdan verileri listeleyebileyim nasıl bağlarım bu konuda yardımınızı istiyorum iyi çalışmalar...
Üye Resmi Furkan Aydemir
18 Mart Cuma ´16 17:49
Teşekkürler hocam ancak bir sorum olacak. eğer veriler veritabanından çekiliyorsa yani sabit değil yeni veriler de ekleniyorsa bunu nasıl yapabilirim?
Üye Resmi Rıza Altınışık
29 Ağustos Pazartesi ´16 17:07
Bundan daha sade ve yalın bir anlatım sanırım olamaz gerçekten tebrikler.
Üye Resmi Umut Erden
22 Eylül Perşembe ´16 16:24
Teşekkür ederim kardeşim bir tek aklımda sessionlamı yapılıyor diye soru kalmıştı onada baktım session muş   :-)
Yeni Yorum *
İletişim Bilgileri
*
*
E-Posta adresiniz gösterilmeyecektir.
(unut)
Güvenlik Kodu *

Gönderiliyor