سلام دوستان
من می خوام یک سایت چند زبانه بنویسم. دوستان کسی می تونه راهنمایی کنه ؟
سلام دوستان
من می خوام یک سایت چند زبانه بنویسم. دوستان کسی می تونه راهنمایی کنه ؟
به چه زبانی ؟ asp,php,.net ????
دارای نماد اعتماد دوستاره و نشان ملی ثبت (ساماندهی)
پی اچ پی
خوب جیگر طلا از شما حرکت از خدا هم برکت .
شما برنامه نویسیتو شروع کن هرجا مشکلی داشتی بگو کمکت کنیم .
الان ما چیو کمک بدیم ؟
[CENTER]Web Site Download : www.AriaSave.com
Web Site Hosting : www.ParsaNic.net
Support - Tel : 0915 706 8664 - 0935 524 1862 - ID Yahoo : parsanic
من می خوام بدونم اصولش به چه صورتیه ؟
درباره بیس کار بگین ممنون
---------- Post added at 11:20 AM ---------- Previous post was at 10:08 AM ----------
![]()
جوملا استفاده کنی راحت تری.
وگر نه اصولش:
ابتدا با یک متغیر باید بفهمی که الان کاربر زبان فارسی رو انتخاب کرده یا انگلیسی . پس یک select باکس باید بزاری بالای سایت بصورت فرم که بصورت post باید عبارت lang رو ارسال کنه
حالا باید ببینی که اون فرم ارسال شده متغیر lang چی هست مثلا
کد PHP:
<?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 موجود بود که هیچی اگر نبود فیلد آن را ایجاد می کند.
سپس وقتی با ادیتور متن نوشته می شود که ادیت شود یا جدید باید در آن جدول و در قسمت فیلد خودش متن را ارسال کنی و یا به ازای هر زبان از طرف متن را بخواهی در آن صورت از آرایا استفاده کنی بهتر است :
کد PHP:
$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>
');
}
می شه یه کم بیشتر توضیح بدین ؟ ممنون
برای توضیحات بیشتر باید جلسه حضوری بزاریم
چون من نمی دونم شما در چه سطحی هستید
مفاهیم رو خواستید من هم گفتم باید یک بار کاربر به ما بگه چه زبانی رو دوست داره. و ما اون متغیر را با $_POST می گیریم و کوکی رو می سازیم این کوکی زمان تایم اوت نداره یعنی تا موقعی که صفحه سایت رو نبسته اگر در هر خط php فراخوانی کنی $_COOCKIE['lang'] v رو بهت فا یا en رو می ده مگر اینکه دوباره کاربر تغییر زبان بده
حالا در زمان کانکت شدن به دیتابیس باید sql query رو طوری بنویسی که دیتا رو از فیلد زبان جاری بخونه
شما تا زمانی که استارت کار رو نزنی نمیشه که من توضیح بیشتر بدم استارت بزن هرجا مشکل داشتی بپرس فلان کار رو می کنم جواب نمی ده.کد PHP:
$query='select id,' . $current_lang . ' from content where id=' . $id;
براي هر زبون يك فايل جدا در نظر بگير و در اون فايل اطلاعات زبان + جملات و كلمات مورد نياز رو در قالب يك آرايه بذار.به عنوان نمونه فايل زبان نرم افزارهايي مثل mybb رو يك نگاه بنداز بكنيد خيلي كمك ميكنه.
در مورد جزييات انتخاب فايل زبان هم دوستمون توضيحاتي رو دادند.
به عنوان نمونه شما در يك مرحله قصد داريد پيغام "عمليات موفقيت آميز بود" رو داريد.
به طور خيلي ساده در نظر ميگيريم كه دو فايل با محتويات زير داريم :
کد PHP:
//farsi.php
$lang = array(
'text1'=>'جمله 1',
'success'=> 'عمليات موفقيت آميز بود',
//and ...
);
سورس سايت :کد PHP:
//english.php
$lang = array(
'text1'=>'example sentence',
'success'=> 'The operation was successfull !',
//and ...
);
اين يك مثال خيلي ساده بود كه براي دو زبان فارسي و انگليسي و يك جمله خروجي نوشته شده بود و. پيش فرض زبان روي انگليسي هست.کد PHP:
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 ----------
* تصحيح :پيش فرض زبان روي فارسي هست.
Google Translate !
بهترین روش برای مبتدیهاست
اگر هم بتوین با جوملا پیش بری افزونه هاش هست نصب میکنی و ایکنهای پرچم ( روس و شوروی و عربستان و ایران و ...) رو به استت اضافه میکنه.
نخواستی افزونه جوم فیش رو نصب کن خودت بصورت مستقل بشین سایتتو ترجمه کن.
امیر خسرو معروفی
جهت ارتباط با من از پیغام خصوصی استفاده کنید.
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)