wellcome to Maxbuzz (Read Three Topics Below)

1.Maxbuzz Rules (qavanine forum)
2.Enteqadat va Pishnahadate shoma
3.Ranking (rotbe bandie karbaraye forum)
2.hale moshkele copy kardane axa moqeye post dadan
Log in

I forgot my password

Top posters
amirx_taek1!(†эямίлατσя) (513)
 
†эямίлατσя (385)
 
*per$eus* (299)
 
jav+d (183)
 
amirha$an (165)
 
sadegh_akbari21 (141)
 
n0!se (136)
 
mashr0ob (126)
 
amir*1995 (126)
 
Rastin (120)
 

Latest topics
» morteza pashaie
by amirx_taek1!(†эямίлατσя) 16/11/2014, 4:06 pm

» Youtube Facebook Hack 2011
by blst-maker 13/11/2014, 5:15 am

» Facebook 2.1 Version Free Download
by blst-maker 12/11/2014, 1:36 pm

» How To Hack Facebook Login Page
by blst-maker 12/11/2014, 1:34 pm

» dmp nimbuzz
by blst-maker 25/10/2014, 10:03 am

» 12 16 Nude Junior Girls
by blst-maker 25/10/2014, 10:00 am

» ReCoveR ID's By CReator password or cracked password or by
by shayan123456 5/10/2014, 12:14 am

» new broken ip Nimbuzz cracker by cobra very fast
by hrb1826 4/10/2014, 9:24 am

» ids arabic farsi symbol 3word for sell
by neymar.cfz.11 8/9/2014, 11:27 am

» nimbuzz hack mod.apk android
by neymar.cfz.11 8/9/2014, 11:08 am

» nimbuzz dc android networld-team
by neymar.cfz.11 6/9/2014, 9:54 am

» bombus 2014
by --)xerxes 6/9/2014, 1:31 am

» XMl jadide hacke java
by neymar.cfz.11 24/8/2014, 11:28 am

» XML jadide hack android and java
by neymar.cfz.11 24/8/2014, 11:26 am

» new vps bot upteate
by neymar.cfz.11 24/8/2014, 11:26 am

» phonegap GUI
by blst-maker 9/8/2014, 7:37 am

» badbuzz master anti flood
by blst-maker 29/7/2014, 11:17 am

» packup! nimbuzz
by blst-maker 29/7/2014, 11:03 am

» talkmod_bot_v3.4.jar
by --)xerxes 23/7/2014, 3:13 am

» HOT!!..New Nimuzz and All Mail Cracker Server Updated.
by crystallworlds 19/7/2014, 5:21 am

Online Stat

Keywords

city  game  download  games  


آموزش ساخت سایت چند زبانه با PHP

 :: programing :: PHP

Go down

آموزش ساخت سایت چند زبانه با PHP

Post by dear,lord on 14/7/2013, 12:59 pm

برای این پست تصمیم گرفتم بنا به درخواست یکی از دوستان آموزش ساخت سایتهای چندزبانه رو براتون آموزش بدم.

برای این کار چند روش وجود داره که من یکی از روشها رو براتون توضیح میدم.

در این روش از چند فایل برای نگهداری ترجمه ها استفاده میکنیم.به عنوان مثال ما میخوایم سایتی داشته باشیم که هم با زبان انگلیسی و هم زبان فارسی رو پشتیبانی کنه.

برای این کار دو فایل با نام fa.php برای ذخیره ترجمه های زبان فارسی و یک فایل با نام en.php برای زبان انگلیسی میسازیم.

در واقع این دو فایل حاوی یک آرایه است که یک کلید برای کلمه مورد نظر و یک مقدار برای ترجمه است.

فایل fa.php

$lang['hello'] = 'سلام';
$lang['goodbye'] = 'خدانگهدار';
$lang['home'] = 'خانه';
$lang['about'] = 'درباره ما';
$lang['contact'] = 'تماس با ما';
$lang['links'] = 'لینکهای مفید';
$lang['news'] = 'اخبار';

و محتویات فایل en.php :

$lang['hello'] = 'Hello';
$lang['goodbye'] = 'GoodBye';
$lang['home'] = 'Home';
$lang['about'] = 'About us';
$lang['contact'] = 'Contact with us';
$lang['links'] = 'Link';
$lang['news'] = 'News';

همینطور که میبینید باید نام کلید های آرایه توی دوتا فایل یکسان باشه .

خوب حالا دو تا لینک به صورت زیر میذاریم تا کاربر زبان مورد نیازخودش رو انتخاب کنه :


Farsi


English




توی این دو تالینک در URL مقدار lang رو برابر با زبان مورد نظر قرار دادیم.حالا برای دسترسی به زبان میتونیم از آرایه $_GET استفاده کنیم :

if(isset($_GET['lang']))
{
include $_GET['lang'].'.php';
}else
{
include 'fa.php'];
}

ابتدا چک میکنیم که آیا مقدار lang در url ست شده یا نه. اگر مقدار داشت فایل مربوط به همون زبان رو include میکنیم اگر مقدار نداشت به فایل fa.php رو include میکنیم که به این معنیه که سایت ما به صورت پیش فرض از زبان فارسی استفاده میکنه.

تقریبا کار ما تمومه و باید از متغیر $lang در جایی که میخوایم استفاده کنیم.

به عنوان مثال :

echo $lang['hello'];

حالا اگر زبان سایت ما فارسی باشه عبارت ” سلام ” و اگر انگلیسی باشه کلمه Hello نمایش داده میشه.

میتونیم کارمون رو یه کم راحت تر کنیم تا لازم نباشه همه جا از دستور echo استفاده کنیم .

برای این کار یک تابع با نام _e میسازیم :

function _e($key){
echo $lang[$key];
}

حالا به جای دستور بالا میتونیم برای ترجمه از این تابع استفاده کنیم :

_e('hello');

تا اینجا کار ما تمومه اما ممکنه گاهی اوقات ما کلیدی رو فراخوانی کنیم که در متغیر $lang وجود نداشته باشه.برای رفع این مشکل یک پارامتر دوم هم برای تابع _e میذاریم که در صورتی که کلید ما در آرایه وجود نداشته باشه مقدار پیش فرض نمایش داده بشه :

function _e($key , $def = ''){
if(isset($lang[$key]))
echo $lang[$key];
else
echo $def;
}

این تابع نیاز به توضیح زیادی نداره فقط در ابتدا چک کردیم که مقدار $key در آرایه وجود داره یا خیر اگر وجود نداشت مقدار $def رو به کاربر نمایش میدیم :

_e('site_news' , 'اخبار سایت');

این روش به خاطر اینکه از آرایه $_GET استفاده میکنه باید از لحاظ امنیتی هم بررسی بشه که اینکار رو به خودتون واگذار میکنم.در ضمن این یک مثال کامل نیست باید بیشتر روش کار کنید هدف فقط این بود که با این روش آشنا بشید.

dear,lord
Member
Member

Posts : 33
Points : 89
Join date : 2013-07-14

View user profile

Back to top Go down

Back to top


 :: programing :: PHP

 
Permissions in this forum:
You cannot reply to topics in this forum