PDA

View Full Version : سوال: ترجمه متن یک زمینه دلخواه در وردپس



shakala
دوشنبه 07 مهر 1393, 15:59 عصر
سلام دوستان
این درخواست رو به هرکسی میگم جواب منو نمیده لطفا یکی کمکم کنه


من چند وقت پیش با یه افزونه ایرانی به اسم imdbi اشنا شدم

این افزونه میاد و اطلاعات فیلم رو از سایت imdb میگیره مثل ژانر کشور سازنده کارگردان و غیره

مشکل اینجاست که ژانر های فیلم رو انگلیسی دریافت میکنه در حالی که من میخوام فارسی باشه

خود سازنده برای ترجمه یه فایل regx.php ساخته و با اون بعضی چیز ها رو ترجمه کرده مثلا الان نوع فیلم ( سریال , مستند , انیمیشن ) اینا رو فارسی مینویسه یا زمان فیلم رو به فارسی مینویسه

اما فقط ژانر رو انگلیسی مینویسه ازش خواستم درست کنه اما در گیر کار های دانشگاهه و نتونست . هر کاری که به زهنم رسید رو انجام دادم اما بازم ترجمه نشد من طراح نیستم و از این جور چیز ها سر در نمیارم اما شما هم اگه یک بار کد های اون فایل رو ببینید همون چیز هایی به زهنتون میرسه که به زهن من رسید

بهش گفتم یه راهنمایی کن که حداقل تو انجمن بگم ببینم کسی میتونه درست کنه بهم اینو گفت ( دستش درد نکنه)

کسی میتونه با استفاده از راهنمایی سازنده افزونه این مشکل رو برام حل کنه؟ نمیخوام برام دانه دانه ژانر ها رو بشینه ترجمه کنه فقط هسته ی کار رو درست کنه من خودم میشینم ترجمه میکنم ( اگه کد ها رو ببینید کاملا حرف هام قابل درک میشه)

راهنمایی که سازنده افزونه کرد :

باید توی کلاس imdbiRegx (فایل regx.php) یه متد بنویسین که ژانر ها رو به صورت آرایه دریافت کنه و با استفاده از عبارات منطقی (regular expressions) عبارات رو ترجمه کنین. (البته با switch هم امکان پذیره)

بعد، فایل core.php رو باز کنین خط 106 تا 164 وظیفه ذخیره کردن اطلاعات رو داره. حالا از خط 136 به بعد، شما باید ژانر هارو دریافت کنین، و به آرایه تبدیل کنین بعد کلاس رو با متدی که ساختین صدا بزنین. بعد مقدار بازگشتی رو ذخیره کنین.

یادتون نره خروجی رو باید جایگزین خط 145 کنین چون این خط ژانر هارو ذخیره میکنه !!

موفق باشید

دوستان من نمیخوام برام دانه دانه کسی ترجمه کنه فقط میخوام همون کاری که سازنده افزونه گفته رو انجام بده ( من هیچی برنامه نویسی بلد نیستم) اما کد ها رو اگه ببینید 90 رصد کار رو رفته

ممنون میشم کسی برام اینو درست کنه الان 2 هفته شده که دنبال کسی هستم تا اینو برام درست کنه

shakala
سه شنبه 08 مهر 1393, 13:12 عصر
کسی نیست کمکم کنه؟

MMSHFE
سه شنبه 08 مهر 1393, 13:18 عصر
کد کلاس رو بگذارین ببینیم میشه کاری کرد یا نه.

shakala
سه شنبه 08 مهر 1393, 18:51 عصر
سلام دوست عزیز

خیلی خوش حال شدم بعد از 2 هفته یکی جواب منو داد

اگه خودتون افزونه رو دانلود کنید خیلی بهتره اگه توضیحات منو کنارش بخونید و سادگی کد ها رو ببینید کاملا متوجه میشید( سازندش خیلی تمیز کا کرده)

لینک دانلود افزونه (https://wordpress.org/plugins/imdbi/)

خیلی ممنونم که یه جواب دادید دلم شاد شد:لبخندساده:

thacker
سه شنبه 08 مهر 1393, 19:05 عصر
اتفاقا هفته پیش یه پروژه واسه خودم درست کردم که اطلاعات آرشیو فیلمم رو از imdb میگیره و توی دیتابیس ذخیره میکنه...

من چند تا تابع واسه تبدیل مشخصات انگلیسی imdb به فارسی نوشتم :


function f_Genre($m)
{
$m = str_replace("Action","اکشن",$m);
$m = str_replace("Adventure","ماجراجویی",$m);
$m = str_replace("Animation","انیمیشن",$m);
$m = str_replace("Biography","بیوگرافی",$m);
$m = str_replace("Comedy","کمدی",$m);
$m = str_replace("Crime","جنایی",$m);
$m = str_replace("Documentary","مستند",$m);
$m = str_replace("Drama","درام",$m);
$m = str_replace("Family","خانوادگی",$m);
$m = str_replace("Fantasy","فانتزی",$m);
//$m = str_replace("Film-Noir","",$m);
$m = str_replace("History","تاریخی",$m);
$m = str_replace("Horror","ترسناک",$m);
$m = str_replace("Music","موسیقی",$m);
$m = str_replace("Musical","موزیکال",$m);
$m = str_replace("Mystery","معمایی",$m);
$m = str_replace("Romance","عاشقانه",$m);
$m = str_replace("Sci-Fi","علمی تخیلی",$m);
$m = str_replace("Sport","ورزشی",$m);
$m = str_replace("Thriller","هیجان انگیز",$m);
$m = str_replace("War","جنگی",$m);
$m = str_replace("Western","وسترن",$m);
return $m;
}

function f_Country($m)
{
$m = str_replace("Argentina","آرژانتین",$m);
$m = str_replace("Australia","استرالیا",$m);
$m = str_replace("Austria","اتریش",$m);
$m = str_replace("Belgium","بلژیک",$m);
$m = str_replace("Brazil","برزیل",$m);
$m = str_replace("Bulgaria","بلغارستان",$m);
$m = str_replace("Canada","کانادا",$m);
$m = str_replace("China","چین",$m);
$m = str_replace("Colombia","کلمبیا",$m);
$m = str_replace("Costa Rica","کاستاریکا",$m);
$m = str_replace("Czech Republic","جمهوری چک",$m);
$m = str_replace("Denmark","دانمارک",$m);
$m = str_replace("Finland","فنلاند",$m);
$m = str_replace("France","فرانسه",$m);
$m = str_replace("Germany","آلمان",$m);
$m = str_replace("Greece","یونان",$m);
$m = str_replace("Iran","ایران",$m);
$m = str_replace("Ireland","ایرلند",$m);
$m = str_replace("Italy ","ایتالیا",$m);
$m = str_replace("Japan","ژاپن",$m);
$m = str_replace("Malaysia","مالزی",$m);
$m = str_replace("Mexico","مکزیک",$m);
$m = str_replace("Netherlands","هلند",$m);
$m = str_replace("New Zealand","نیوزلند",$m);
$m = str_replace("Pakistan","پاکستان",$m);
$m = str_replace("Poland","لهستان",$m);
$m = str_replace("Portugal","پرتغال",$m);
$m = str_replace("Romania","رومانی",$m);
$m = str_replace("Russia","روسیه",$m);
$m = str_replace("Singapore","سنگاپور",$m);
$m = str_replace("South Africa","آفریقای جنوبی",$m);
$m = str_replace("Spain","اسپانیا",$m);
$m = str_replace("Sweden","سوئد",$m);
$m = str_replace("Switzerland","سوئیس",$m);
$m = str_replace("Thailand","تایلند",$m);
$m = str_replace("United Kingdom","انگلیس",$m);
$m = str_replace("United States ","آمریکا",$m);
$m = str_replace("USA","آمریکا",$m);
return $m;
}

function f_lang($m)
{
$m = str_replace("Arabic","عربی",$m);
$m = str_replace("Bulgarian","بلغاری",$m);
$m = str_replace("Chinese","چینی",$m);
$m = str_replace("Croatian","کرواتی",$m);
$m = str_replace("Dutch","هلندی",$m);
$m = str_replace("English","انگلیسی",$m);
$m = str_replace("Finnish","فنلاندی",$m);
$m = str_replace("French","فرانسه",$m);
$m = str_replace("German","آلمانی",$m);
$m = str_replace("Greek","یونان",$m);
$m = str_replace("Hebrew","عبری",$m);
$m = str_replace("Hindi","هندی",$m);
$m = str_replace("Hungarian","مجارستان",$m);
$m = str_replace("Icelandic","ایسلندی",$m);
$m = str_replace("Italian","ایتالیایی",$m);
$m = str_replace("Japanese","ژاپنی",$m);
$m = str_replace("Korean","کره ای",$m);
$m = str_replace("Norwegian","نروژی",$m);
$m = str_replace("Persian","فارسی",$m);
$m = str_replace("Polish","لهستانی",$m);
$m = str_replace("Portuguese","پرتغالی",$m);
$m = str_replace("Punjabi","پنجابی",$m);
$m = str_replace("Romanian","رومانیایی",$m);
$m = str_replace("Russian","روس",$m);
$m = str_replace("Spanish","اسپانیایی",$m);
$m = str_replace("Swedish","سوئدی",$m);
$m = str_replace("Turkish","ترکی",$m);
$m = str_replace("Ukrainian","اوکراینی",$m);
return $m;
}

function f_color($m)
{
$m = str_replace("Color","رنگی",$m);
$m = str_replace("Black and White","سیاه و سفید",$m);
return $m;
}

function f_sound($m)
{
$m = str_replace("Dolby Digital","دالبی دیجیتال",$m);
$m = str_replace("Mono","مونو",$m);
return $m;
}

shakala
سه شنبه 08 مهر 1393, 21:12 عصر
ممنون دوست عزیز خوشحال ترم کردید :D
اما اینو کجا قرار بدم؟

کد های افزونه رو ببینید

تو قایل regx.php توابع replace رو قرار داده و تو core.php اونو ذخیره کرده

میشه یه نگاه بندازید و با کد های اون افزونه هماهنگ کنیدش؟
مشکل من تو همون core.php و ذخیره کردنشه دیگه ( فکر کنم)

shakala
سه شنبه 08 مهر 1393, 21:54 عصر
درست کردم کار کرد :قهقهه:

از اقای thaker خیلی ممنونم

مشکل من اینجا بوذ که اینجوری ترجمه میکردم


case 'series': $type='سریال';
break;
case 'movie':
$type='فیلم';
break;


اما باید مثل شما اینجوری ترجمه میکردم




$m = str_replace("Action","اکشن",$m);
$m = str_replace("Adventure","ماجراجویی",$m);



خیلی ممنونم از اقای mmsef و اقای thaker لطف خیلی بزرگی به من کردید