رفتن به مطلب

ویرایش وردپرس


AmiRoo

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

درود,دوستان سایت های مانند همیار ....

 

می خوام بعضی قسمت ها مانند همان اخبار و چند قسمت دیگر را ویرایش کنم (حذف و تغییر متن) ازکجا باید انجام بدم؟

 

 

---

یه تم نصب کردم ,بعد از نصب تم آیتم های مختلفی اضافه شد به سایت ,می خوام کلمه آن هارا ویرایش کنم

به طور مثال یکیش projects زده , می خوام خوده کلمه را در پیش خوان فارس یکنم

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

درود.

تغییر در عنوان پست تایپ ها از طریق تغییرات در فایل ترجمه امکان پذیره .

فایل زبان قالب که با فرمت های po و mo در دسترس هستند و شامل عنوان زبان (fa_IR) هست رو با نرم افزار poEdit باز کنید. در این فایل می تونید کلمات رو تغییر بدید.

 

راه دیگر هم تغییر مستقیم کلمه در فایل های PHP هست که شما فعلا همون راه اول رو تست کنید به نتیجه خواهید رسید.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

در 12 ساعت قبل، masih1994 گفته است :

درود.

تغییر در عنوان پست تایپ ها از طریق تغییرات در فایل ترجمه امکان پذیره .

فایل زبان قالب که با فرمت های po و mo در دسترس هستند و شامل عنوان زبان (fa_IR) هست رو با نرم افزار poEdit باز کنید. در این فایل می تونید کلمات رو تغییر بدید.

 

راه دیگر هم تغییر مستقیم کلمه در فایل های PHP هست که شما فعلا همون راه اول رو تست کنید به نتیجه خواهید رسید.

ممنون ,متاسفانه نبود در فایل و در تم هم نیست(آنهای که بود زدم اما تغییر نکرد)

 

برای تغییر هسته وردپرس (صفحه اصلی و برخی کلمات چی؟)

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

درود مجدد .

به طور کلی روش هایی برای ترجمه کلمات در قالب وردپرس رو خدمتتون عرض می کنم که بتونید کاری که می خواهید رو انجام بدید :

 

روش اول : فایل ترجمه

همونطور که در پاسخ قبلی گفتم ، در قالب وردپرس ، بهترین راه برای ترجمه متن ها ، استفاده از فرمت های po و mo هست. البته این راه تنها برای قالب هایی هست که در فایل style.css اصلی اونها ، یک بخش تحت عنوان text-domain تعریف شده و متن های داخل قالب بر اساس اون text domain با کد نوشته می شن که به راحتی امکان ترجمه این جملات وجود داره.

 

اگه قالبی که دارید ، از قبل به فارسی ترجمه نشده ، ابتدا در وردپرس ، افزونه Loco Translate رو نصب و فعال کنید.

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

جهت ترجمه قالب وارد زیرمجموعه Themes این افزونه بشید ، نام قالب مورد نظر رو انتخاب کنید. سپس در صفحه جدید ، Create Template را بزنید. (اگر از قبل Template برای ترجمه ساخته شده باشد ، عبارت Edit Template رو مشاهده خواهید کرد.)

پس از ساختن Template زبان ، روی Create New Language کلیک کنید و در بخش زبان ترجمه ، فارسی رو انتخاب کنید و ترجمه رو ذخیره کنید. بعد از ذخیره کردن وارد صفحه ترجمه خواهید شد که می تونید در این بخش تمامی کلماتی که در قالب استفاده شده رو مشاهده کنید و اونها رو ترجمه کنید. پس از ترجمه هم به راحتی روی قالب اعمال میشن.

 

اما اگر از قبل فایل زبان برای فارسی ساخته شده باشه ، زمانی که وارد بخش قالب ها در تنظیمات افزونه Loco Translate بشید ، یک گزینه به نام Persian برای آن قالب خواهید دید که می تونید واردش بشید و ترجمه های فارسی که از قبل داخل قالب بوده رو تغییر بدید.

نکته : جهت تغییر در ترجمه هر دو فرمت po و mo نیاز هست. این فرمت ها توسط نرم افزار poEdit ساخته میشن اما افزونه Loco Translate خودش می تونه این فرمت ها رو ایجاد کنه .

 


 

روش دوم : تغییر کلمه در فایل های PHP

اونطور که شما گفتید ، قصد دارید نام Post Type رو در پیشخوان تغییر بدید. عناوین پست تایپ ها علاوه بر فایل های ترجمه که در روش قبلی گفتم ، می تونند به طور مستقیم در فایل های PHP که پست تایپ ها تعریف شده اند هم تغییر کنند.

اما شاید سخت ترین بخش این کار ، پیدا کردن فایلی باشه که پست تایپ ها در اونجا تعریف شده اند!

به طور مثال هر پست تایپ یک بخش از کدش به صورت زیر هست :

$labels = array(
		'name'                  => _x( 'Codex', 'Post Type General Name', 'devmemarket' ),
		'singular_name'         => _x( 'Codex', 'Post Type Singular Name', 'devmemarket' ),
		'menu_name'             => __( 'Codex', 'devmemarket' ),
		'name_admin_bar'        => __( 'Codex', 'devmemarket' ),
		'archives'              => __( 'Item Archives', 'devmemarket' ),
		'attributes'            => __( 'Item Attributes', 'devmemarket' ),
		'parent_item_colon'     => __( 'Parent Item:', 'devmemarket' ),
		'all_items'             => __( 'All Items', 'devmemarket' ),
		'add_new_item'          => __( 'Add New Item', 'devmemarket' ),
		'add_new'               => __( 'Add New', 'devmemarket' ),
		'new_item'              => __( 'New Item', 'devmemarket' ),
		'edit_item'             => __( 'Edit Item', 'devmemarket' ),
		'update_item'           => __( 'Update Item', 'devmemarket' ),
		'view_item'             => __( 'View Item', 'devmemarket' ),
		'view_items'            => __( 'View Items', 'devmemarket' ),
		'search_items'          => __( 'Search Item', 'devmemarket' ),
		'not_found'             => __( 'Not found', 'devmemarket' ),
		'not_found_in_trash'    => __( 'Not found in Trash', 'devmemarket' ),
		'featured_image'        => __( 'Featured Image', 'devmemarket' ),
		'set_featured_image'    => __( 'Set featured image', 'devmemarket' ),
		'remove_featured_image' => __( 'Remove featured image', 'devmemarket' ),
		'use_featured_image'    => __( 'Use as featured image', 'devmemarket' ),
		'insert_into_item'      => __( 'Insert into item', 'devmemarket' ),
		'uploaded_to_this_item' => __( 'Uploaded to this item', 'devmemarket' ),
		'items_list'            => __( 'Items list', 'devmemarket' ),
		'items_list_navigation' => __( 'Items list navigation', 'devmemarket' ),
		'filter_items_list'     => __( 'Filter items list', 'devmemarket' ),
	);

در کد مثال بالا ، به خط زیر توجه کنید :

'name'                  => _x( 'Codex', 'Post Type General Name', 'devmemarket' ),

در بالا ، کلمه Codex همان کلمه ای هست که در فهرست سمت راست پیشخوان نمایش داده میشه و کلمه devmemarket در واقع همون Text Domain هست که در فایل style.css تعریف شده و می تونیم توسط اون با فایل های ترجمه ی po و mo این کلمه رو ترجمه کنیم.

 

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

'name'                  => _x( 'مستندات', 'Post Type General Name', 'devmemarket' ),

 

الان ما Codex رو داخل خود فایل ترجمه کردیم!

شما هم می تونید همین کارو انجام بدید اما باید کدهای مربوط به Post Type رو پیدا کنید. 

 

برای پیدا کردن و جستجو داخل فایل ها :

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

بعد از نصب ، برنامه رو باز کنید. در محیط برنامه کلید ترکیبی Ctrl + F رو بزنید . در پنجره باز شده ، روی تب Find in Files کلیک کنید.

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

  • در بخش Find What کلمه ای که قصد دارید جستجو کنید رو وارد کنید. برای پیدا کردن کدهای Post Type ، بخشی از دستوراتی که در کد پست تایپ استفاده میشه رو وارد می کنیم تا بتونیم فایلی که پست تایپ ها در اون قرار دارند رو پیدا کنیم. برای مثال شما می تونید یکی از دستورات زیر رو در این فیلد وارد کنید :
'singular_name'
یا
'not_found_in_trash'
یا
'menu_icon'
یا
register_post_type(

یکی از این 4 خط رو به صورت کامل (در 3 خط اول همراه با نماد نقل قول تکی) وارد کنید.

  • در فیلد Replace with به هیچ عنوان چیزی وارد نکنید! چون فعلا نیازی به این امکان نداریم که کلمه های مورد نظر به صورت خودکار با چیزی جایگزین بشن. پس برای جلوگیری از انجام عملیات اشتباه ، این فیلد رو کاملا خالی بگذارید.
  • فیلد Filters رو هم به همون صورت پیش فرض رها کنید.
  • فیلد مهم دیگه ، Directory هست که شما باید پوشه ای که فایل های قالب داخلش هستند رو انتخاب کنید. برای اینکار روی کلیدی که سه نقطه داره کلیک کنید و دقیقا همون پوشه اصلی قالب رو که در کامپیوترتون دارید رو انتخاب کنید.
  • در نهایت در سمت راست این پنجره روی کلید Find All کلیک کنید و کمی صبر کنید تا در تمامی فایل های پوشه ی قالبتون دنبال کلمه ی مورد نظر بگرده.
  • بعد از اتمام جستجو ، در پایین برنامه یک لیست از تمامی کلمات یافت شده براتون لیست میشه که آدرس فایل هم به صورت دقیق نوشته شده. این یعنی اینکه کدی که دنبالش هستیم داخل اون فایل هست.
  • فایل رو باز کنید و کلمات رو طبق مثال بالا که گفتم ترجمه کنید و ذخیره کنید!

 


 

روش سوم : ترجمه کلمات با استفاده از Functions

روش آخری که می خوام بگم استفاده از فایل Functions.php قالب هست! به راحتی می تونیم کلماتی که در قالب استفاده میشن رو ترجمه کنیم اما این کار هم سختی های خودش رو دارد!

  • شما باید کلمه ای که می خواهید ترجمه کنید رو به صورت کامل وارد کنید. حتی اگر یک فاصله به اشتباه زده بشه ترجمه انجام نخواهد شد.
  • برای هر ترجمه یک خط جدید باید اضافه بشه.

 

به هر حال اگر با دو روش قبلی موفق به ترجمه نشدید ، با استفاده از کد زیر این کارو انجام بدید :

function devme_translate_texts( $translated ) {
	$text = array(
		'Old Text 1' => 'New Translation 1',
		'Old Text 2' => 'New Translation 2',
		'Old Text 3' => 'New Translation 3',
	);
	$translated = str_ireplace(  array_keys($text),  $text,  $translated );
	return $translated;
}
add_filter( 'gettext', 'devme_translate_texts', 20 );
  1. ابتدا کد بالا رو در فایل functions.php قالبتون قرار بدید. در کد بالا ما به طور مثال امکان ترجمه 3 کلمه رو داریم که شما می تونید همین کار رو تکرار کنید و کلمات بیشتری رو ترجمه کنید.
  2. بجای Old Text 1 باید کلمه ای که قصد دارید ترجمه اش کنید رو به صورت کامل و به همان صورتی که خروجی گرفته میشه وارد کنید.
  3. بجای New Translation 1 ترجمه ی مورد نظرتون رو وارد می کنید!

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

 

نقل قول

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

موفق باشید/.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

در در 26 مرداد 1396 در 15:57، masih1994 گفته است :

درود مجدد .

به طور کلی روش هایی برای ترجمه کلمات در قالب وردپرس رو خدمتتون عرض می کنم که بتونید کاری که می خواهید رو انجام بدید :

 

روش اول : فایل ترجمه

همونطور که در پاسخ قبلی گفتم ، در قالب وردپرس ، بهترین راه برای ترجمه متن ها ، استفاده از فرمت های po و mo هست. البته این راه تنها برای قالب هایی هست که در فایل style.css اصلی اونها ، یک بخش تحت عنوان text-domain تعریف شده و متن های داخل قالب بر اساس اون text domain با کد نوشته می شن که به راحتی امکان ترجمه این جملات وجود داره.

 

اگه قالبی که دارید ، از قبل به فارسی ترجمه نشده ، ابتدا در وردپرس ، افزونه Loco Translate رو نصب و فعال کنید.

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

جهت ترجمه قالب وارد زیرمجموعه Themes این افزونه بشید ، نام قالب مورد نظر رو انتخاب کنید. سپس در صفحه جدید ، Create Template را بزنید. (اگر از قبل Template برای ترجمه ساخته شده باشد ، عبارت Edit Template رو مشاهده خواهید کرد.)

پس از ساختن Template زبان ، روی Create New Language کلیک کنید و در بخش زبان ترجمه ، فارسی رو انتخاب کنید و ترجمه رو ذخیره کنید. بعد از ذخیره کردن وارد صفحه ترجمه خواهید شد که می تونید در این بخش تمامی کلماتی که در قالب استفاده شده رو مشاهده کنید و اونها رو ترجمه کنید. پس از ترجمه هم به راحتی روی قالب اعمال میشن.

 

اما اگر از قبل فایل زبان برای فارسی ساخته شده باشه ، زمانی که وارد بخش قالب ها در تنظیمات افزونه Loco Translate بشید ، یک گزینه به نام Persian برای آن قالب خواهید دید که می تونید واردش بشید و ترجمه های فارسی که از قبل داخل قالب بوده رو تغییر بدید.

نکته : جهت تغییر در ترجمه هر دو فرمت po و mo نیاز هست. این فرمت ها توسط نرم افزار poEdit ساخته میشن اما افزونه Loco Translate خودش می تونه این فرمت ها رو ایجاد کنه .

 


 

روش دوم : تغییر کلمه در فایل های PHP

اونطور که شما گفتید ، قصد دارید نام Post Type رو در پیشخوان تغییر بدید. عناوین پست تایپ ها علاوه بر فایل های ترجمه که در روش قبلی گفتم ، می تونند به طور مستقیم در فایل های PHP که پست تایپ ها تعریف شده اند هم تغییر کنند.

اما شاید سخت ترین بخش این کار ، پیدا کردن فایلی باشه که پست تایپ ها در اونجا تعریف شده اند!

به طور مثال هر پست تایپ یک بخش از کدش به صورت زیر هست :


$labels = array(
		'name'                  => _x( 'Codex', 'Post Type General Name', 'devmemarket' ),
		'singular_name'         => _x( 'Codex', 'Post Type Singular Name', 'devmemarket' ),
		'menu_name'             => __( 'Codex', 'devmemarket' ),
		'name_admin_bar'        => __( 'Codex', 'devmemarket' ),
		'archives'              => __( 'Item Archives', 'devmemarket' ),
		'attributes'            => __( 'Item Attributes', 'devmemarket' ),
		'parent_item_colon'     => __( 'Parent Item:', 'devmemarket' ),
		'all_items'             => __( 'All Items', 'devmemarket' ),
		'add_new_item'          => __( 'Add New Item', 'devmemarket' ),
		'add_new'               => __( 'Add New', 'devmemarket' ),
		'new_item'              => __( 'New Item', 'devmemarket' ),
		'edit_item'             => __( 'Edit Item', 'devmemarket' ),
		'update_item'           => __( 'Update Item', 'devmemarket' ),
		'view_item'             => __( 'View Item', 'devmemarket' ),
		'view_items'            => __( 'View Items', 'devmemarket' ),
		'search_items'          => __( 'Search Item', 'devmemarket' ),
		'not_found'             => __( 'Not found', 'devmemarket' ),
		'not_found_in_trash'    => __( 'Not found in Trash', 'devmemarket' ),
		'featured_image'        => __( 'Featured Image', 'devmemarket' ),
		'set_featured_image'    => __( 'Set featured image', 'devmemarket' ),
		'remove_featured_image' => __( 'Remove featured image', 'devmemarket' ),
		'use_featured_image'    => __( 'Use as featured image', 'devmemarket' ),
		'insert_into_item'      => __( 'Insert into item', 'devmemarket' ),
		'uploaded_to_this_item' => __( 'Uploaded to this item', 'devmemarket' ),
		'items_list'            => __( 'Items list', 'devmemarket' ),
		'items_list_navigation' => __( 'Items list navigation', 'devmemarket' ),
		'filter_items_list'     => __( 'Filter items list', 'devmemarket' ),
	);

در کد مثال بالا ، به خط زیر توجه کنید :


'name'                  => _x( 'Codex', 'Post Type General Name', 'devmemarket' ),

در بالا ، کلمه Codex همان کلمه ای هست که در فهرست سمت راست پیشخوان نمایش داده میشه و کلمه devmemarket در واقع همون Text Domain هست که در فایل style.css تعریف شده و می تونیم توسط اون با فایل های ترجمه ی po و mo این کلمه رو ترجمه کنیم.

 

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


'name'                  => _x( 'مستندات', 'Post Type General Name', 'devmemarket' ),

 

الان ما Codex رو داخل خود فایل ترجمه کردیم!

شما هم می تونید همین کارو انجام بدید اما باید کدهای مربوط به Post Type رو پیدا کنید. 

 

برای پیدا کردن و جستجو داخل فایل ها :

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

بعد از نصب ، برنامه رو باز کنید. در محیط برنامه کلید ترکیبی Ctrl + F رو بزنید . در پنجره باز شده ، روی تب Find in Files کلیک کنید.

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

  • در بخش Find What کلمه ای که قصد دارید جستجو کنید رو وارد کنید. برای پیدا کردن کدهای Post Type ، بخشی از دستوراتی که در کد پست تایپ استفاده میشه رو وارد می کنیم تا بتونیم فایلی که پست تایپ ها در اون قرار دارند رو پیدا کنیم. برای مثال شما می تونید یکی از دستورات زیر رو در این فیلد وارد کنید :

'singular_name'
یا
'not_found_in_trash'
یا
'menu_icon'
یا
register_post_type(

یکی از این 4 خط رو به صورت کامل (در 3 خط اول همراه با نماد نقل قول تکی) وارد کنید.

  • در فیلد Replace with به هیچ عنوان چیزی وارد نکنید! چون فعلا نیازی به این امکان نداریم که کلمه های مورد نظر به صورت خودکار با چیزی جایگزین بشن. پس برای جلوگیری از انجام عملیات اشتباه ، این فیلد رو کاملا خالی بگذارید.
  • فیلد Filters رو هم به همون صورت پیش فرض رها کنید.
  • فیلد مهم دیگه ، Directory هست که شما باید پوشه ای که فایل های قالب داخلش هستند رو انتخاب کنید. برای اینکار روی کلیدی که سه نقطه داره کلیک کنید و دقیقا همون پوشه اصلی قالب رو که در کامپیوترتون دارید رو انتخاب کنید.
  • در نهایت در سمت راست این پنجره روی کلید Find All کلیک کنید و کمی صبر کنید تا در تمامی فایل های پوشه ی قالبتون دنبال کلمه ی مورد نظر بگرده.
  • بعد از اتمام جستجو ، در پایین برنامه یک لیست از تمامی کلمات یافت شده براتون لیست میشه که آدرس فایل هم به صورت دقیق نوشته شده. این یعنی اینکه کدی که دنبالش هستیم داخل اون فایل هست.
  • فایل رو باز کنید و کلمات رو طبق مثال بالا که گفتم ترجمه کنید و ذخیره کنید!

 


 

روش سوم : ترجمه کلمات با استفاده از Functions

روش آخری که می خوام بگم استفاده از فایل Functions.php قالب هست! به راحتی می تونیم کلماتی که در قالب استفاده میشن رو ترجمه کنیم اما این کار هم سختی های خودش رو دارد!

  • شما باید کلمه ای که می خواهید ترجمه کنید رو به صورت کامل وارد کنید. حتی اگر یک فاصله به اشتباه زده بشه ترجمه انجام نخواهد شد.
  • برای هر ترجمه یک خط جدید باید اضافه بشه.

 

به هر حال اگر با دو روش قبلی موفق به ترجمه نشدید ، با استفاده از کد زیر این کارو انجام بدید :


function devme_translate_texts( $translated ) {
	$text = array(
		'Old Text 1' => 'New Translation 1',
		'Old Text 2' => 'New Translation 2',
		'Old Text 3' => 'New Translation 3',
	);
	$translated = str_ireplace(  array_keys($text),  $text,  $translated );
	return $translated;
}
add_filter( 'gettext', 'devme_translate_texts', 20 );
  1. ابتدا کد بالا رو در فایل functions.php قالبتون قرار بدید. در کد بالا ما به طور مثال امکان ترجمه 3 کلمه رو داریم که شما می تونید همین کار رو تکرار کنید و کلمات بیشتری رو ترجمه کنید.
  2. بجای Old Text 1 باید کلمه ای که قصد دارید ترجمه اش کنید رو به صورت کامل و به همان صورتی که خروجی گرفته میشه وارد کنید.
  3. بجای New Translation 1 ترجمه ی مورد نظرتون رو وارد می کنید!

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

 

موفق باشید/.

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

 

قالب همان biliio بود که برام انجام دادید...

 

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...