رفتن به مطلب

مشکل در فارسی سازی پنل تنظیمات


پست های پیشنهاد شده

دوستان عزیز وقتتون بخیر

در حال فارسی سازی یک پوسته هستم که در قسمت پنل تنظیمات به مشکل برخوردم ، داستان اینه که اولا گزینه های پوسته در فایل زبان موجود نبود و نتونستم توابع ترجمه رو به فایل پی اچ پی مربوطه اضافه کنم (ایا راهی هست برای این کار؟؟)

از خود فایل پی اچ پی مربوطه هم اقدام کردم برای ترجمه و جایگزینی عناوین با معادل فارسی که متاسفانه بعد از معادل سازی فارسی ، آیکون های اون قسمت غیب میشن!

ممنون میشم بنده رو راهنماتیی بفرمایید

عکس زیر مشکل رو نشون میده:

rbf4adz9vmh1_t.jpg

این هم قسمتی از کد فایل پی اچ پی مربوط به تنظیمات


global $of_options;
$of_options = array();
$of_options[] = array( "name" => "General",
"type" => "heading"); $of_options[] = array( "name" => "Import Demo Content",
"desc" => "Importing demo content will give you sliders, pages, posts, theme options, widgets, sidebars and other settings. This will replicate the live demo. Please make sure you have the Fusion Core, Layer Slider, Revolution Slider and WooCommerce plugins installed and activated to receive that portion of the content. WARNING: clicking this button will replace your current theme options, sliders and widgets. It can also take a minute to complete.",
"id" => "demo_data",
"std" => admin_url('themes.php?page=optionsframework') . "&import_data_content=true",
"btntext" => 'Import Demo Content',
"type" => "button");
$of_options[] = array( "name" => "Responsive",
"desc" => "",
"id" => "responsive",
"std" => "<h3 style='margin: 0;'>Responsive Options</h3>",
"icon" => true,
"type" => "info"); $of_options[] = array( "name" => "Responsive Design",
"desc" => "Check this box to use the responsive design features. If left unchecked then the fixed layout is used.",
"id" => "responsive",
"std" => 1,
"type" => "checkbox");
$of_options[] = array( "name" => "Use Fixed Layout for iPad Portrait",
"desc" => "Check this box to use the fixed layout for the iPad in portrait view.",
"id" => "ipad_potrait",
"std" => 1,
"type" => "checkbox"); $of_options[] = array( "name" => "Code",
"desc" => "",
"id" => "code",
"std" => "<h3 style='margin: 0;'>Tracking / Space Before Head / Space Before Body Code</h3>",
"icon" => true,
"type" => "info");
$of_options[] = array( "name" => "Tracking Code",
"desc" => "Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme. Please put code inside script tags.",
"id" => "google_analytics",
"std" => "",
"type" => "textarea"); $of_options[] = array( "name" => "Space before </head>",
"desc" => "Add code before the </head> tag.",
"id" => "space_head",
"std" => "",
"type" => "textarea");
$of_options[] = array( "name" => "Space before </body>",
"desc" => "Add code before the </body> tag.",
"id" => "space_body",
"std" => "",
"type" => "textarea"); $of_options[] = array( "name" => "Header",
"type" => "heading");
$of_options[] = array( "name" => "Header Info",
"desc" => "",
"id" => "header_info",
"std" => "<h3 style='margin: 0;'>Header Content Options</h3>",
"icon" => true,
"type" => "info"); $of_options[] = array( "name" => "Select a Header Layout",
"desc" => "",
"id" => "header_layout",
"std" => "v1",
"type" => "images",
"options" => array(
"v1" => get_bloginfo('template_directory')."/images/patterns/header1.jpg",
"v2" => get_bloginfo('template_directory')."/images/patterns/header2.jpg",
"v3" => get_bloginfo('template_directory')."/images/patterns/header3.jpg",
"v4" => get_bloginfo('template_directory')."/images/patterns/header4.jpg",
"v5" => get_bloginfo('template_directory')."/images/patterns/header5.jpg"
));
$of_options[] = array( "name" => "Transparent Header",
"desc" => "Check this box to enable a transparent header that will display your slider behind it.",
"id" => "header_transparent",
"std" => 0,
"type" => "checkbox");

post-1181-0-10060800-1408299619_thumb.pn

لینک به ارسال

سلام

به انجمن وردپرس پارسی خوش اومدین.

برای ترجمه داخل هر نوع تابع خاصی روش خاص خودش هست. یعنی اکثرا با هم فرق دارن. ولی برای مورد شما فکر می کنم از چند قسمت باید تغییر بدید تا به درستی انجام بشه. داخل تک تک فایل های php رو ببنید.

لینک به ارسال

میشه بیشتر توضیح بدید در مورد توابع ترجمه ، یا لینکی که آموزش درونش باشه ، مرسی

چرا به طور مستقیم از درون فایل ترجمه می کنم ، آیکون ناپدید میشه ؟

لینک به ارسال

یه روش فقط برای تست میگم شاید جواب شایدم نه

شما با ترجمه پنل میبینید که مثلا آیکون ها میره شما بخش رو ترجمه کنید مثلا عنوان منوهاش و بخشی از محتوای هر منو بعد این مشکل عدم نمایش آیکون ها پیش میاد اگه روی لوکال هستید یه وردپرس دیگه نصب کنید و قالب ترجمه شده رو انجا نصب کنید ببینید بخش پنل سالم هست یا نه

لینک به ارسال

شما باید محتوای مربوط به desc را در کدهای بالا به اینشکل تغییر بدید


"desc" => __("Check this box to use the responsive design features. If left unchecked then the fixed layout is used.", "textdomain"),

(فقط محتوای مربوط به desc ) و textdomain هم باید تکست دامین فعلی سایت باشه

بعد فایل ترجمه را در poedit باز کنید و از طریق منوی catalog یا پوشه منوی properties را احضار کنید و در تب دوم (Sources Paths) هم در فیلد اول و هم در زیرش نشانی فعلی پوشه قالب را روی سیستمتون وارد کنید و بعد از تایید و ذخیره مجدد فایل روی بروز رسانی بزنید تا عبارتها را پیدا کنه

post-336-0-92176200-1408318184_thumb.png

لینک به ارسال

جناب فخار عزیز

ممنون از توضیحتون ، من روی لوکال دارم کار میکنم

به جای تکست دامین چی بذارم و اینکه درفایلی که مربوطه به تنظیمات هست بیش از 600مورد محتوا مربوط به desc وجود داره ؟؟!!

البته برای دومودردشون تغییرات رو انجام دادم و تکست دامین رو هم ، از فایلهای قبلی پوسته دیدم که نام پوسته بود و قرار دادم

بعد از بروزرسانی در poedit ، هیچ رشته ای اضافه نشد و رشته های قبلی هم پاک شدند!!

لینک به ارسال

دوستان گرامی میشه راهنمایی بفرمایید ممنون

یه مقدار دیگه که بررسی کردم متوجه شدم وقتی در فایل تنظیمات عمل ترجمه رو انجام می دم و باعث حذف آیکون میشه ، در واقع یه کلاس در css با همون اسم اصلی موجوده ، و به طور تست در فایل css تنظیمات تغییر دادم و نام کلاس رو به فارسی نوشتم با این کار ایکون نشون داده شد ، حالا سوالم اینه اگر فایل css رو تغییر بدم و در اون فارسی بنویسم نام اون تعداد کلاس رو مشکلی ایجاد نمیکنه


#of_container #of-nav li.general a{ background-image:url(../images/icon-settings.png);}

این کد رو به شکل زیر تغییر دادم برای مثال و آزمایش


#of_container #of-nav li.عمومیa{ background-image:url(../images/icon-settings.png);}

و آیکون نمایش داده شد

گیج شدم واقعا !!! :wacko::unsure::blink:

لینک به ارسال

جناب فخار عزیز

ممنون از توضیحتون ، من روی لوکال دارم کار میکنم

به جای تکست دامین چی بذارم و اینکه درفایلی که مربوطه به تنظیمات هست بیش از 600مورد محتوا مربوط به desc وجود داره ؟؟!!

البته برای دومودردشون تغییرات رو انجام دادم و تکست دامین رو هم ، از فایلهای قبلی پوسته دیدم که نام پوسته بود و قرار دادم

بعد از بروزرسانی در poedit ، هیچ رشته ای اضافه نشد و رشته های قبلی هم پاک شدند!!

نشانی پوشه را به صورتیکه گفتم وارد نکردید و الا چیزی حذف نمی شد و رشته های جدید اضافه می شد

در css نباید فارسی بنویسید کدی رو که احتمالا با جی کوئری داره text رو می گیره و کلاس می کنه اصلاح کنید

شما رشته متنیتون یک جمله ی کامله چطور می شه یک جمله را کلاس یک المنت قرار داد

لینک به ارسال

نشانی پوشه را به صورتیکه گفتم وارد نکردید و الا چیزی حذف نمی شد و رشته های جدید اضافه می شد

36831652929450252639.png

ویرایش رو طبق فرمایش شما انجام دادم طبق عکس زیر از برنامه poedit

یکی از موارد مربوط به desc رو تغییر دادم و باز هم رشته جدیدی اضافه نشد به فایل ترجمه

بهشکل زیر تغییر دادم


"desc" => __("Importing demo content will give you sliders, pages, posts, theme options, widgets, sidebars and other settings. This will replicate the live demo. Please make sure you have the Fusion Core, Layer Slider, Revolution Slider and WooCommerce plugins installed and activated to receive that portion of the content. WARNING: clicking this button will replace your current theme options, sliders and widgets. It can also take a minute to complete.","Avada")

قسمت تکست دامین رو دقیقا چه باید بنویسم؟

برای اون مورد css هم خودم هم متعجبم که چرا اینجوری شد ، ولی وقتی کلمه فارسی رو که در فایل تنظیمات تغییر میدم و همون کلمه رو به فارسی دز فایل css تنظیمات اعمال کردم آیکون مربوطه نمایش داده میشد

28678310975191229088.png

لینک به ارسال

اون عمومی ترجمه


"name" => "General"

نه متن داخل desc شما اگر روی قالب هم می خواهید ترجمه انجام بدید باید فقط متونی داخل علامت ('') روبروی desc => را ترجمه کنید یعنی

Importing demo content will give you sliders, pages, posts, theme options, widgets, sidebars and other settings. This will replicate the live demo. Please make sure you have the Fusion Core, Layer Slider, Revolution Slider and WooCommerce plugins installed and activated to receive that portion of the content. WARNING: clicking this button will replace your current theme options, sliders and widgets. It can also take a minute to complete.

لینک به ارسال

برای poedit هم به تب source keywords برید و علامتهای


__
_e

رو اگر نداره با زدن روی ستاره بهش اضافه کنید

دو آندر لاین و آندرلاین ای

post-336-0-45385700-1408463664_thumb.png

لینک به ارسال

جناب فخار ، ممنون از توضیحات شما

توابع ترجمه رو اضافه کردم ، و درون فایل زبان هم اضافه شدند همه موارد .

فقط هنوز مشکل ناپدیدشدن آیکون!! وجود داره که چیز سختی نیست .

مشکل من 90درصد حل شد . سپاسگزار

لینک به ارسال

جناب فخار گرامی

یه سوال ریزي دیگه!! ;)

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


"std" => "<h3 style='margin: 0;'>BBPress Options</h3>",

برای اضافه کردن تابع ترجمه به این کدها نیاز به کمک دارم

هم __ وهم _e رو بهش ون اضافه کردم ولی در فایل زبان اضافه نشدند!


"std" => "<h3 style='margin: 0;'>__('BBPress Options','theme')</h3>",

لطف میکنید راهنمایی بفرمایید؟

سپاس

لینک به ارسال


"std" => "<h3 style='margin: 0;'>".__('BBPress Options','theme')."</h3>",

برای نمایش آیکونها یا عناوین رو نباید ترجمه کنید یا اگر می خواهید ترجمه کنید باید تابعی که کلاس را از نام می گیرد در توابع قالب پیدا کنید و اصلاحش کنید

لینک به ارسال

اگر تابع را پیدا نکردید کد زیر را تکمیل کنید و در functions.php بگذارید


add_action( 'admin_footer', 'my_action_javascript' );
function my_action_javascript() {
?>
<script>
jQuery(document).ready(function() {
jQuery(".<?php _e('General', 'Avada');?>").addClass("General").removeClass("<?php _e('General', 'Avada');?>");
jQuery(".<?php _e('Header', 'Avada');?>").addClass("Header").removeClass("<?php _e('Header', 'Avada');?>");
});
</script>
<?php
}

من برای General و Header این کد را نوشتم خودتون برای تمام عناوین این خط کد را تکرار کنید


jQuery(".<?php _e('Header', 'Avada');?>").addClass("Header").removeClass("<?php _e('Header', 'Avada');?>");

لینک به ارسال

جناب فخار ، این کد رو به انتهای فایل فانکشن اضافه کردم ، تغییری داده نشد .

به هرحال ممنون ، وقت تون رو خیلی گرفتم . موید باشید

لینک به ارسال

کد را باید داخل تگ php فایل فانکشنز بگذارید

یعنی قبل از


?>

اگر کد جای درستی باشه عمل می کنه ولی ممکنه با تاخیر عمل کنه چون بخش ادمین وردپرس تا لود کامل صفحه nojs است و تنا همه ی اجزا لود نشند شروع به خوندن جی کوئری نمی کنه

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...