SHET24

تغییر کلمات پیش‌فرض وردپرس با افزونه Say What

تغییر کلمات پیش‌فرض وردپرس با افزونه Say What

اگه یکی از متن‌های ثابت قالب یا افزونه با لحن سایتتون هماهنگ نیست، برای عوض‌کردنش لازم نیست سراغ فایل‌های اصلی برید. افزونه رایگان Say What بهتون اجازه می‌ده رشته‌های ترجمه‌پذیر رو پیدا کنید و متن دلخواهتون رو جای اون‌ها بذارید. چون فایل اصلی قالب یا افزونه دست‌کاری نمی‌شه، بعد از به‌روزرسانی هم دردسر کمتری دارید.

توی این آموزش اول می‌بینیم Say What دقیقاً چه متن‌هایی رو تغییر می‌ده. بعد افزونه رو نصب می‌کنیم، رشته اصلی و Text Domain رو پیدا می‌کنیم و متن تازه رو جایگزین می‌کنیم. در آخر هم سراغ دلیل‌های رایجی می‌ریم که ممکنه باعث بشن تغییرتون نمایش داده نشه.

افزونه Say What چه کاری انجام می‌ده

Say What برای تغییر رشته‌های ترجمه‌پذیر ساخته شده. رشته ترجمه‌پذیر همون متنیه که سازنده قالب، افزونه یا خود وردپرس با توابع ترجمه داخل کد ثبت کرده. مثلاً عنوان یک دکمه یا یکی از پیام‌های آماده افزونه ممکنه یک رشته ترجمه‌پذیر باشه.

پس این افزونه نمی‌تونه هر متنی رو که روی صفحه می‌بینید عوض کنه. متن نوشته‌ها، برگه‌ها، ابزارک‌ها یا عبارت‌هایی که مستقیم داخل HTML یا پایگاه داده ذخیره شدن، ممکنه اصلاً ترجمه‌پذیر نباشن. قبل از شروع، بهتره مطمئن بشید متن موردنظرتون به قالب، افزونه یا هسته وردپرس مربوطه.

نکته خوب این روش اینه که به فایل‌های اصلی وردپرس، قالب و افزونه دست نمی‌زنید. تغییر مستقیم این فایل‌ها ممکنه با به‌روزرسانی بعدی پاک بشه یا حتی سایتتون رو به مشکل بندازه. اگه واقعاً باید کدی رو تغییر بدید، راهنمای ویرایش امن کد در وردپرس کمکتون می‌کنه خطرهای این کار رو بهتر بشناسید.

نصب افزونه رایگان Say What

وارد پیشخوان وردپرس بشید و از مسیر «افزونه‌ها ← افزودن افزونه تازه» برید. عبارت «Say What» رو جست‌وجو کنید، افزونه Say What رو نصب کنید و بعد روی «فعال‌سازی» بزنید. برای تغییرهای ساده، همون نسخه رایگانی که توی مخزن رسمی وردپرس هست کارتون رو راه می‌اندازه.

قبل از نصب، بخش نیازمندی‌های صفحه افزونه رو هم ببینید. نسخه وردپرس و PHP هاستتون باید با نسخه فعلی افزونه سازگار باشه. چون این اطلاعات ممکنه با انتشار نسخه‌های تازه تغییر کنه، بهتره همیشه صفحه رسمی افزونه رو ملاک قرار بدید.

نصب افزونه رایگان Say What
نصب افزونه رایگان Say What

پیدا کردن اطلاعات رشته

برای ثبت هر تغییر معمولاً به متن دقیق رشته و Text Domain نیاز دارید. Text Domain یک شناسه‌ست که نشون می‌ده رشته موردنظر به کدوم قالب یا افزونه تعلق داره. این شناسه خیلی وقت‌ها شبیه نام پوشه قالب یا افزونه‌ست، ولی بهتره اون رو فقط از روی اسم محصول حدس نزنید.

نسخه رایگان Say What معمولاً اطلاعات رشته رو خودش براتون پیدا نمی‌کنه. اول مستندات سازنده قالب یا افزونه رو بررسی کنید. اگه چیزی پیدا نکردید، باید متن دقیق موردنظرتون رو داخل فایل‌های همون محصول جست‌وجو کنید.

ممکنه رشته موردنظر رو توی کد و داخل توابعی مثل __()، _e()، _x()، _n()، _nx()، esc_html__() یا esc_attr__() ببینید. راهنمای رسمی توابع ترجمه وردپرس کاربرد این توابع رو توضیح می‌ده.

__('Add to cart', 'plugin-domain');

توی این مثال، Add to cart رشته اصلیه و plugin-domain هم Text Domain هست. موقع واردکردن رشته اصلی، فاصله‌ها، نشانه‌ها و حروف بزرگ و کوچیک رو دقیقاً مثل کد بنویسید.

بعضی رشته‌ها Context هم دارن. Context یعنی یک توضیح کوتاه که کاربردهای متفاوت دو عبارت یکسان رو از هم جدا می‌کنه. مثلاً کلمه «Post» ممکنه یک‌جا معنی نوشته بده و جای دیگه معنی ارسال‌کردن داشته باشه.

_x('Post', 'content type', 'plugin-domain');

در این مثال، content type همون Context رشته‌ست. فقط وقتی این مقدار رو وارد کنید که توی کد اصلی هم نوشته شده باشه. اگه خودتون یک Context دلخواه اضافه کنید، افزونه نمی‌تونه رشته رو پیدا کنه.

تغییر کلمات پیش‌فرض وردپرس

بعد از فعال‌کردن افزونه، از منوی «ابزارها» وارد صفحه Text changes بشید. اینجا تغییرهایی رو که قبلاً ثبت کردید می‌بینید و می‌تونید یک تغییر تازه هم بسازید.

صفحه مدیریت تغییرهای متنی افزونه Say What در منوی ابزارها
صفحه مدیریت تغییرهای متنی افزونه Say What در منوی ابزارها

روی «Add New» بزنید. توی صفحه تازه چهار کادر اصلی می‌بینید که باید اطلاعاتشون رو به این شکل وارد کنید:

  • Original string: متن اصلی رو دقیقاً همون‌طور که داخل کد نوشته شده وارد کنید.
  • Text domain: شناسه قالب، افزونه یا بخشی رو بنویسید که رشته به اون مربوطه.
  • Text context: اگه رشته توی تابعی مثل _x() یا _nx() یک Context داره، مقدار دقیقش رو وارد کنید. اگه Context نداره، این کادر رو خالی بذارید.
  • Replacement string: متن تازه‌ای رو بنویسید که می‌خواید کاربر ببینه.
کادرهای ثبت رشته اصلی، Text Domain، Context و متن جایگزین
کادرهای ثبت رشته اصلی، Text Domain، Context و متن جایگزین

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

آزمایش تغییر و رفع مشکلات

اگه متن عوض نشد، اول کش مرورگر و افزونه کش سایتتون رو پاک کنید. بعد هم صفحه رو توی یک پنجره ناشناس باز کنید. گاهی تغییر درست ثبت شده، ولی نسخه قدیمی صفحه هنوز از کش نشون داده می‌شه.

پاکر کردن کش افزونه رخش
پاکر کردن کش افزونه رخش

اگه هنوز مشکل داشتید، این موارد رو یکی‌یکی بررسی کنید:

  • رشته اصلی باید کاملاً با متن داخل کد یکی باشه؛ حتی فاصله‌ها و علامت‌های نگارشی هم مهم هستن.
  • Text Domain باید دقیقاً همون مقداری باشه که کنار رشته اصلی توی کد نوشته شده.
  • اگه رشته Context داره، باید مقدار Context رو هم بدون هیچ تغییری وارد کنید.
  • ممکنه متن از محتوای نوشته، تنظیمات قالب یا پایگاه داده بیاد و اصلاً یک رشته ترجمه‌پذیر نباشه.
  • ممکنه قالب یا افزونه متن رو با JavaScript بسازه. نسخه‌های تازه Say What بعضی رشته‌های ترجمه‌پذیر JavaScript، ویرایشگر بلوکی و بلوک‌های ووکامرس رو پوشش می‌دن، ولی این به معنی قابل‌تغییربودن همه متن‌های JavaScript نیست.
  • ممکنه ترجمه قالب یا افزونه بعد از ثبت تغییر به‌روز شده باشه و متن اصلی دیگه با رشته‌ای که وارد کردید یکی نباشه.

برای اینکه راحت‌تر مشکل رو پیدا کنید، اول یک متن ساده و کاملاً قابل‌مشاهده رو تغییر بدید. وقتی مطمئن شدید رشته و Text Domain درست هستن، سراغ متن اصلی موردنظرتون برید. با این روش خیلی زودتر متوجه می‌شید ایراد از کجاست.

محدودیت‌های نسخه رایگان

نسخه رایگان Say What برای جایگزین‌کردن رشته‌های مشخص مناسبه و برای انجام مراحل این آموزش به نسخه پولی نیاز ندارید. فقط باید رشته اصلی، Text Domain و Context احتمالی رو خودتون پیدا کنید و دقیق بنویسید.

قابلیت‌هایی مثل پیداکردن خودکار رشته‌ها، تکمیل خودکار بعضی کادرها، جایگزینی بخشی از رشته با الگو، تنظیم جداگانه برای چند زبان و ورود یا خروج گروهی تغییرها ممکنه جزو امکانات نسخه Pro باشن. برای عوض‌کردن یک عبارت ساده، بهتره اول نسخه رایگان رو امتحان کنید و فقط وقتی سراغ امکانات پولی برید که واقعاً به اون‌ها نیاز دارید.

پرسش‌های متداول

آیا Say What هر متنی رو در وردپرس تغییر می‌ده؟

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

نسخه رایگان Say What برای این کار کافیه؟

بله. برای جایگزین‌کردن یک رشته مشخص، نسخه رایگان معمولاً کافیه. فقط باید رشته اصلی، Text Domain و Context احتمالی رو خودتون پیدا کنید.

Text Domain رو از کجا پیدا کنیم؟

بهتره متن اصلی رو توی فایل‌های قالب یا افزونه جست‌وجو کنید و مقداری رو بردارید که کنار اون در تابع ترجمه نوشته شده. Text Domain رو از روی نام محصول حدس نزنید، چون همیشه دقیقاً با نام نمایشی محصول یکی نیست.

آیا تغییرها بعد از به‌روزرسانی افزونه یا قالب باقی می‌مونن؟

چون Say What فایل اصلی محصول رو ویرایش نمی‌کنه، تغییر ثبت‌شده معمولاً باقی می‌مونه. بااین‌حال، اگه سازنده متن اصلی، Text Domain یا Context رو عوض کنه، باید تنظیم ثبت‌شده رو هم به‌روز کنید.

نظر شما در این مورد چیه؟

  1. U576۶ تیر ۱۳۹۷

    سلام
    بغیر از نصب افزونه راهی دیگر نیست که با آپدیت وردپرس تغییرات از دست نره
    ممنونم از پاسخی که لطف نمودید.
    کامیاب باشید

  2. U576۳ تیر ۱۳۹۷

    با سلام.
    با تشکر از مطالب مفیدی که رایگان به اشتراک گذاشته میشه ؛ بنده یک مشکلی داشتم که ممنون میشوم راهنمایی بفرمائید.
    توی آپدیت های جدید وردپرس (یکی دو ماهی میشه) در بخش کامنت گذاری یک گزینه ای اضافه شده که برای ذخیره مشخصات کاربره و به انگلیسی نوشته: Save my name ,email, and website in this browser for the next time I comment. این رو چطوری میشه فارسی کرد هر چه منتظر شدیم تا وردپرس فارسی اینو ترجمه کنه نشد که نشد. این مورد در همین صفحه سایت میهن وردپرس هم قابل مشاهده میباشد.
    با تشکر

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسدر حال حاضر آفلاین هستیم. لطفاً پیام بگذارید تا در اولین فرصت پاسخ دهیم.آفلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.