PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ساخت وب سایت 2 زبانه



teztop
April 23rd, 2011, 09:54
سلام دوستان
من می خوام یک سایت چند زبانه بنویسم. دوستان کسی می تونه راهنمایی کنه ؟

IranianServer
April 23rd, 2011, 09:56
به چه زبانی ؟ asp,php,.net ????

teztop
April 23rd, 2011, 09:57
پی اچ پی

parsanic.net
April 23rd, 2011, 10:01
خوب جیگر طلا از شما حرکت از خدا هم برکت .

شما برنامه نویسیتو شروع کن هرجا مشکلی داشتی بگو کمکت کنیم .

الان ما چیو کمک بدیم ؟

teztop
April 23rd, 2011, 11:20
من می خوام بدونم اصولش به چه صورتیه ؟
درباره بیس کار بگین ممنون

---------- Post added at 11:20 AM ---------- Previous post was at 10:08 AM ----------

#:-S

tinavps
April 23rd, 2011, 11:51
جوملا استفاده کنی راحت تری.
وگر نه اصولش:
ابتدا با یک متغیر باید بفهمی که الان کاربر زبان فارسی رو انتخاب کرده یا انگلیسی . پس یک select باکس باید بزاری بالای سایت بصورت فرم که بصورت post باید عبارت lang رو ارسال کنه
حالا باید ببینی که اون فرم ارسال شده متغیر lang چی هست مثلا


<?php

if(isset($_POST['lang'] && strlen(htmlspecialchars($_POST['lang'])>0) )){

switch($_POST['lang']){

case 'en' :
$_COOCKIE['lang']='en';
break;
default :
$_COOCKIE['lang']='fa';

}

}




if(isset($_COOCKIE['lang'])){
$lang=$_COOCKIE['lang'];
}else{
$lang='fa';
}





حالا اولین بار طرف اگر انتخاب کنه که میشه مثلا en وگر نه این متغیر کوکی بطور پیش فرض تا زمانی که کاربر تو سایت هست روی En یا fa می مونه.
حالا شما بستگی به خودت داره بقیش

مثلا در جدول content باید یک فیلد en و یا fa داشته باشی و یا اینکه یک کد بنویسی به ازای هر زبان اگر فیلد آن در جدول content موجود بود که هیچی اگر نبود فیلد آن را ایجاد می کند.

سپس وقتی با ادیتور متن نوشته می شود که ادیت شود یا جدید باید در آن جدول و در قسمت فیلد خودش متن را ارسال کنی و یا به ازای هر زبان از طرف متن را بخواهی در آن صورت از آرایا استفاده کنی بهتر است :




$lang['en']='en';
$lang['fa']='fa';
$lang['ar']='ar';
$def_lang=$_COOCKIE['lang'];
$_current_lang=$lang[$def_lang];

foreach($lang as $key=>$val){

echo('

<textarea name="content_' . $vsl . '" >



</texarea>

');

}

teztop
April 23rd, 2011, 12:26
می شه یه کم بیشتر توضیح بدین ؟ ممنون

tinavps
April 23rd, 2011, 12:47
برای توضیحات بیشتر باید جلسه حضوری بزاریم
چون من نمی دونم شما در چه سطحی هستید
مفاهیم رو خواستید من هم گفتم باید یک بار کاربر به ما بگه چه زبانی رو دوست داره. و ما اون متغیر را با $_POST می گیریم و کوکی رو می سازیم این کوکی زمان تایم اوت نداره یعنی تا موقعی که صفحه سایت رو نبسته اگر در هر خط php فراخوانی کنی $_COOCKIE['lang'] v رو بهت فا یا en رو می ده مگر اینکه دوباره کاربر تغییر زبان بده

حالا در زمان کانکت شدن به دیتابیس باید sql query رو طوری بنویسی که دیتا رو از فیلد زبان جاری بخونه


$query='select id,' . $current_lang . ' from content where id=' . $id;


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

Rezash
April 23rd, 2011, 13:14
براي هر زبون يك فايل جدا در نظر بگير و در اون فايل اطلاعات زبان + جملات و كلمات مورد نياز رو در قالب يك آرايه بذار.به عنوان نمونه فايل زبان نرم افزارهايي مثل mybb رو يك نگاه بنداز بكنيد خيلي كمك ميكنه.
در مورد جزييات انتخاب فايل زبان هم دوستمون توضيحاتي رو دادند.
به عنوان نمونه شما در يك مرحله قصد داريد پيغام "عمليات موفقيت آميز بود" رو داريد.
به طور خيلي ساده در نظر ميگيريم كه دو فايل با محتويات زير داريم :


//farsi.php
$lang = array(
'text1'=>'جمله 1',
'success'=> 'عمليات موفقيت آميز بود',
//and ...
);



//english.php
$lang = array(
'text1'=>'example sentence',
'success'=> 'The operation was successfull !',
//and ...
);

سورس سايت :


if(!isset($_COOCKIE['lang']))
$_COOCKIE['lang'] = 'farsi';
if($_COOCKIE['lang'] == 'farsi')
include('lang/farsi.php');
else
include('lang/english.php');
//your codes
echo $lang['success'];

اين يك مثال خيلي ساده بود كه براي دو زبان فارسي و انگليسي و يك جمله خروجي نوشته شده بود و. پيش فرض زبان روي انگليسي هست.
روي چنين ايده هايي ميشه كار كرد و سيستم رو نوشت.
موفق باشيد

---------- Post added at 01:14 PM ---------- Previous post was at 01:13 PM ----------

* تصحيح ‌:‌پيش فرض زبان روي فارسي هست.

maroofi
April 23rd, 2011, 13:59
Google Translate (http://www.translate.google.com) !
بهترین روش برای مبتدیهاست
اگر هم بتوین با جوملا پیش بری افزونه هاش هست نصب میکنی و ایکنهای پرچم ( روس و شوروی و عربستان و ایران و ...) رو به استت اضافه میکنه.
نخواستی افزونه جوم فیش رو نصب کن خودت بصورت مستقل بشین سایتتو ترجمه کن.

13001300
April 30th, 2011, 13:12
با php می تونم به صورت حرفه ای درخدمتتون باشم
لطفا قیمت پیشنهادی خود را بفرمایید
طراحی سایت (http://www.simasystem.ir)