برای انتخاب کلیدenter انتخاب کنید یا برای لغو ESC فشار دهید.

پشتیبانی چندزبانه با افزونه WPML و ChatGPT

پشتیبانی چندزبانه با WPML و ChatGPT: راهنمای جامع ۲۰۲۵

هر وب‌سایتی که به‌سرعت به بازارهای بین‌المللی گسترش می‌یابد، نیازمند پشتیبانی چندزبانه است. در این مقاله، با ترکیب افزونه WPML و ChatGPT به‌صورت کامل به نحوهٔ ایجاد پشتیبانی زنده و ترجمهٔ خودکار پیام‌ها می‌پردازیم. این راهنما شامل نصب، پیکربندی، مدیریت خطا، قیمت‌گذاری، و بهینه‌سازی SEO چندزبانه است.

معرفی WPML و ChatGPT

WPML (WordPress Multilingual Plugin) یکی از قدرتمندترین افزونه‌های چندزبانه برای وردپرس است که امکان ترجمهٔ محتوا، تنظیمات، و افزونه‌های دیگر را فراهم می‌کند. در عوض، ChatGPT یک مدل زبانی پیشرفتهٔ توسط OpenAI است که می‌تواند به‌صورت زنده و به زبان‌های مختلف پاسخ دهد. ترکیب این دو، امکان ارائهٔ پشتیبانی زندهٔ چندزبانه را به‌صورت هوشمندانه فراهم می‌آورد.

ویژگی‌های کلیدی WPML

  • ترجمهٔ محتوا، منوها، و ویجت‌ها
  • پشتیبانی از بیش از ۴۰ زبان
  • پشتیبانی از ترجمهٔ خودکار و دستی
  • یکپارچگی با افزونه‌های SEO و caching

ویژگی‌های کلیدی ChatGPT

  • پاسخ‌های طبیعی و هم‌خوان با متن
  • پشتیبانی از بیش از ۱۰۰ زبان
  • قابلیت سفارشی‌سازی توسط API
  • یکپارچگی آسان با وردپرس از طریق افزونه‌های سفارشی

نصب و پیکربندی WPML برای چندزبانی

قبل از ادغام با ChatGPT، باید WPML را نصب و پیکربندی کنیم. مراحل زیر را دنبال کنید:

  1. افزونه WPML را از سایت رسمی دانلود و نصب کنید.
  2. در بخش WPML → Languages، زبان‌های موردنظر را فعال کنید.
  3. از WPML → Translation Management برای تخصیص مترجمان یا استفاده از ترجمهٔ خودکار بهره ببرید.
  4. در WPML → String Translation، رشته‌های سفارشی را ترجمۀ خودکار یا دستی کنید.
  5. تنظیمات WPML → Media Translation را برای تصاویر و رسانه‌های دیگر فعال کنید.

راه‌اندازی ChatGPT به‌عنوان پشتیبانی زنده

برای افزودن ChatGPT به‌عنوان پشتیبانی زنده، افزونهٔ AI Chatbot یا همان Chatbot آموزشی می‌تواند استفاده شود. این افزونه به‌صورت زیر پیکربندی می‌شود:

  • در بخش Chatbot → Settings، کلید API OpenAI را وارد کنید.
  • زبان پیش‌فرض را به زبان سایت تنظیم کنید.
  • پیکربندی مکالمه برای ترجمهٔ خودکار با WPML را فعال کنید.
  • گزینهٔ Fallback to Original Language را روشن کنید تا در صورت عدم ترجمه، پیام به زبان اصلی بازگردد.

یکپارچگی ChatGPT با WPML

در افزونه AI Chatbot، در بخش Advanced Settings، گزینهٔ Enable WPML Integration را فعال کنید. این اقدام باعث می‌شود که پیام‌های دریافتی به زبان وب‌سایت ترجمه شوند و پاسخ‌ها نیز به زبان مخاطب ارسال شوند.

ادغام ChatGPT با WPML برای ترجمه‌ی خودکار پیام‌ها

برای اطمینان از ترجمهٔ دقیق و هم‌زمان، از WPML’s String Translation بهره ببرید. سپس در Chatbot → Advanced Settings، auto-translate را فعال کنید. این مراحل را به‌صورت خلاصه در جدول زیر می‌توانید مشاهده کنید:

مرحله توضیح دستورات
۱ وارد WPML → String Translation شوید. کلیک روی “Add new string” و وارد کردن کلید.
۲ در Chatbot → Settings، زبان پیش‌فرض را انتخاب کنید. کلید API و زبان پیش‌فرض.

پیکربندی ترجمهٔ متون پویا در WPML با ChatGPT

در بسیاری از وب‌سایت‌ها، محتوای پویا مانند پیام‌های هشدار، نحوهٔ نمایش خطاها یا متن‌های سفارشی در فرم‌ها توسط PHP یا JavaScript تولید می‌شود. WPML به‌صورت پیش‌فرض فقط رشته‌های ثابت در فایل‌های قالب را ترجمه می‌کند؛ اما می‌توان با ترکیب WPML String Translation و ChatGPT API ترجمهٔ این متون پویا را به‌صورت خودکار و به‌روزرسانی در زمان واقعی انجام داد.

گام ۱: ثبت رشته در WPML String Translation

در قالب یا افزونهٔ خود، از تابع icl_register_string() استفاده کنید تا متنی که می‌خواهید ترجمه شود را به WPML اضافه کنید. مثال زیر یک پیام هشدار را ثبت می‌کند.

icl_register_string('MyPlugin', 'alert_message', 'Your cart is empty!');

حالا در String Translation می‌توانید مقدار اولیه را مشاهده کنید و یا آن را به‌صورت دستی ترجمه کنید.

گام ۲: ارسال رشته به ChatGPT و ذخیره ترجمه

یک اسکریپت PHP ساده در فایلی مانند wp-content/plugins/my-plugin/translate-strings.php ایجاد کنید که به صورت دوره‌ای (مثلاً از طریق WP-Cron) رشته‌های بدون ترجمه را استخراج کند و به ChatGPT ارسال کند.

function translate_strings_with_gpt() {
    $strings = icl_get_strings_for_translation('MyPlugin', 'alert_message', 'en');
    foreach ($strings as $string) {
        $translated = call_chatgpt_api($string);
        icl_update_string_translation('MyPlugin', 'alert_message', $translated, 'fa');
    }
}
add_action('wp', 'translate_strings_with_gpt');

در این کد، تابع call_chatgpt_api() باید درخواست HTTP به OpenAI API ارسال کند و ترجمه را برگرداند.

گام ۳: به‌روزرسانی در زمان واقعی

برای جلوگیری از تاخیر در نمایش، می‌توانید از WPML API در زمان بارگذاری صفحه برای گرفتن ترجمهٔ به‌روزرسانی شده استفاده کنید. این کار باعث می‌شود که کاربران همواره متون صحیح در زبان انتخابی خود را مشاهده کنند.

مدیریت ترجمهٔ فرم‌های تماس و پیامک

فرم‌های تماس، فرم‌های ساب‌سکرایب و پیامک‌های ارسالی از طریق افزونه‌های رایج مثل Contact Form 7 یا Gravity Forms معمولاً متن‌های ثابت دارند، اما در صورت تغییر زبان، باید تمام پیام‌های خطا، تایید و هشدار به‌صورت خودکار ترجمه شوند.

روش ۱: استفاده از قابلیت‌های داخلی فرم‌ها

این افزونه‌ها معمولاً دارای فیلدهایی برای متن پیامک و پیام‌های خطا هستند. با فعال‌سازی WPML String Translation، می‌توانید این فیلدها را ثبت کنید و ترجمهٔ خودکار را اعمال کنید.

روش ۲: ادغام با ChatGPT برای ترجمهٔ خودکار

یک افزونه کوچک می‌توانید بنویسید که پس از ذخیرهٔ فرم، تمام رشته‌های مرتبط را استخراج کرده و به ChatGPT ارسال کند. سپس ترجمه را در دیتابیس ذخیره کرده و در زمان نمایش به کاربر، از آن استفاده کنید.

  1. گرفتن رشته‌های فرم از get_post_meta() یا API فرم.
  2. ارسال آن‌ها به ChatGPT با پرسشی مثل: “Translate the following text to Persian: {text}”.
  3. ذخیره ترجمه در دیتابیس با کلید ترکیبی (form‑id + language).
  4. در زمان نمایش، ترجمه را از دیتابیس خوانده و جایگزین متن اصلی کنید.

این روش باعث می‌شود تا کاربران در هر زبان، پیام‌های خطا و موفقیت را به‌صورت native مشاهده کنند.

نحوه ارزیابی کیفیت ترجمه و بازخورد کاربران

هرچند ChatGPT می‌تواند ترجمهٔ سریع و نسبتا دقیق ارائه دهد، اما نیاز به ارزیابی کیفیت وجود دارد. در این بخش، روش‌های عملی برای جمع‌آوری بازخورد کاربران و بهبود مدل ترجمه را بررسی می‌کنیم.

استفاده از افزونه‌های نظرسنجی

افزونه‌ای مثل WPForms یا SurveyMonkey را می‌توانید در پایان فرم‌های مهم قرار دهید تا کاربران از کیفیت ترجمه سؤال بپرسند. مثلاً:

  • “آیا ترجمهٔ پیامک به درستی منتقل شد؟ (بله/خیر)”
  • “در صورت بروز مشکل، توضیح دهید.”

مرور و اصلاح دستی

هر ۳۰ روز، تیم ترجمه می‌تواند بازخوردهای جمع‌آوری‌شده را مرور کرده و اصلاحات لازم را در String Translation اعمال کند. این کار باعث می‌شود مدل ChatGPT با اصلاحات انسانی هم‌زمان بهبود یابد.

استفاده از OpenAI Moderation برای جلوگیری از خروجی نامناسب

قبل از نمایش ترجمه، آن را با OpenAI Moderation API بررسی کنید تا از وجود محتوای نامناسب جلوگیری شود.

نکتهٔ متخصص: برای جلوگیری از ترجمهٔ بی‌معنی در

بهینه‌سازی عملکرد و حافظه برای WPML + ChatGPT

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

کاهش حجم ترجمه‌های همزمان

ChatGPT برای هر درخواست ترجمه یک مدل بزرگ را بارگذاری می‌کند. با استفاده از ChatGPT Lite یا دورکاری با مدل‌های کوچک‌تر می‌توان مصرف حافظه را به نصف کاهش داد.

استفاده از WP Rocket و WPML‑Cache

WP Rocket با قابلیت Cache‑Preload صفحات WPML را در زمان تولید می‌کند. برای ترجمه‌های پویا، wpml_cache را فعال کنید تا ترجمه‌های اخیر در حافظهٔ سمت سرور ذخیره شوند.

محدودیت نرخ درخواست به OpenAI

سرویس‌های OpenAI محدودیت نرخ دارند. با ذخیرهٔ ترجمه‌های متداول در دیتابیس و استفاده از wpml_translate_string_cache می‌توانید تعداد درخواست‌ها را به ۵۰٪ کاهش دهید.

مدیریت ترجمهٔ فایل‌های پویا و قالب‌های پویا

WPML معمولاً فایل‌های PHP و قالب را به صورت دستی ترجمه می‌کند. اما برای فایل‌های پویا مانند functions.php یا فایل‌های CSS سفارشی، روش‌های زیر کاربردی هستند.

استفاده از icl_t در فایل‌های PHP

در کدهای PHP، از تابع icl_t('namespace', 'string', 'default') برای ترجمهٔ مستقیم استفاده کنید. این تابع به WPML اجازه می‌دهد ترجمه را در دیتابیس ذخیره کند و در زمان بارگذاری صفحه فراخوانی نماید.

تعریف متغیرهای ترجمه در فایل‌های CSS

با استفاده از متغیرهای CSS سفارشی و فایل‌های JSON، می‌توانید متن‌های ثابت را به صورت پویا ترجمه کنید. مثال:

/* style.css */
:root[data-lang="fa"] {
  --btn-text: "ارسال";
}
:root[data-lang="en"] {
  --btn-text: "Send";
}

استفاده از افزونه String Translation

اگر فایل‌های پویا شامل رشته‌های طولانی باشند، افزونه String Translation را نصب کنید و از icl_register_string برای ثبت آن‌ها استفاده کنید.

پیکربندی امنیت و حفظ حریم خصوصی در چت زنده چندزبانه

ChatGPT داده‌های حساس را پردازش می‌کند؛ بنابراین رعایت استانداردهای امنیتی ضروری است.

توجه: هرچند OpenAI اطلاعات را ذخیره نمی‌کند، ولی ارسال داده‌های شخصی به سرورهای خارجی می‌تواند نقض حریم خصوصی باشد. برای جلوگیری از این مشکل، فقط اطلاعات عمومی را ارسال کنید و در صورت نیاز از دادهٔ ناشناس‌سازی استفاده کنید.

  1. در پنل مدیریت WPML، بخش Advanced Settings را باز کنید.
  2. گزینه Enable Secure Connections (HTTPS) را فعال کنید.
  3. کلید API خود را در OpenAI API Settings قرار دهید و آن را در فایل wp-config.php به صورت متغیر define('OPENAI_API_KEY', 'your_key'); ذخیره کنید.
  4. در پنل ChatGPT Settings، گزینه Encrypt Payloads را فعال کنید.
  5. برای جلوگیری از دسترسی‌های نادرست، IP Whitelisting را در بخش Security فعال کنید.

نظارت و گزارش‌گیری عملکرد چت و ترجمه

برای بهینه‌سازی و رفع اشکال، داشتن داشبوردهای گرافیکی و گزارش‌های دقیق ضروری است.

یکپارچه‌سازی با Google Analytics و GTM

از Google Tag Manager برای ارسال رویدادهای chat_started و translation_requested استفاده کنید. این داده‌ها را می‌توان در Google Data Studio تجزیه و تحلیل کرد.

استفاده از افزونه WPML Debugger

این افزونه خطاهای ترجمه را در دیتابیس ذخیره می‌کند و در داشبورد وردپرس نمایش می‌دهد. برای مثال، اگر ترجمهٔ یک رشته نادرست باشد، می‌توانید به راحتی آن را اصلاح کنید.

گزارش‌گیری از OpenAI API

در wp-config.php، متغیر define('OPENAI_LOG', true); را فعال کنید تا تمام درخواست‌ها و پاسخ‌ها در فایل openai.log ذخیره شوند. سپس با استفاده از ابزارهای Splunk یا ELK Stack می‌توانید آن را تحلیل کنید.

پیکربندی ترجمهٔ پیام‌های چت در زمان واقعی

برای ایجاد تجربه‌ای روان و شخصی‌سازی‌شده، ترجمهٔ پیام‌های چت در لحظه ضروری است. در این بخش، مراحل دقیق برای تنظیم WPML و ChatGPT به‌طوری که هر پیام ورودی و خروجی به زبان انتخاب‌شده ترجمه شود را بررسی می‌کنیم.

۱. تنظیمات زبان پیش‌فرض برای چت

  1. در wp-config.php متغیر WPLANG را به زبان مورد نظر تنظیم کنید.
  2. در WPML، در بخش Languages → Language Switching Options گزینهٔ Automatic language detection را فعال کنید.
  3. در افزونهٔ چت (مثلاً WP Live Chat Support) تنظیمات زبان را به wpml_current_language() متصل کنید.

۲. فراخوانی مدل ChatGPT برای ترجمه پیام

از طریق یک REST API سفارشی، پیام‌های دریافتی را به ChatGPT ارسال و پاسخ را دریافت کنید. کد نمونه:

function translate_chat_message( $message, $target_lang ) {
    $api_key = 'YOUR_OPENAI_KEY';
    $prompt  = "Translate the following message to $target_lang:nn$message";
    $response = wp_remote_post( 'https://api.openai.com/v1/completions', [
        'headers' => [
            'Authorization' => "Bearer $api_key",
            'Content-Type'  => 'application/json',
        ],
        'body' => json_encode( [
            'model' => 'gpt-4o-mini',
            'prompt' => $prompt,
            'max_tokens' => 200,
        ] ),
    ] );
    return json_decode( wp_remote_retrieve_body( $response ), true )['choices'][0]['text'];
}

این تابع را در functions.php قرار دهید و در هنگام ارسال پیام، خروجی را به جای متن اصلی قرار دهید.

استفاده از Webhooks برای هماهنگی زمان‌بندی ترجمه

برای جلوگیری از تأخیر در چت و بهبود پاسخگویی، می‌توان از Webhooks برای هماهنگی بین WPML و ChatGPT بهره برد. در این بخش، چگونگی تنظیم وب‌هوک در وردپرس و دریافت نتایج ترجمه را توضیح می‌دهیم.

۱. ایجاد endpoint سفارشی

add_action( 'rest_api_init', function () {
    register_rest_route( 'chat/v1', '/translate', [
        'methods'  => 'POST',
        'callback' => 'handle_chat_translation',
    ] );
} );

function handle_chat_translation( WP_REST_Request $request ) {
    $data = $request->get_json_params();
    $translated = translate_chat_message( $data['message'], $data['lang'] );
    return rest_ensure_response( [ 'translated' => $translated ] );
}

۲. ارسال webhook از WPML

در WPML، در بخش Languages → Translation Management → Advanced Options گزینهٔ Webhooks را فعال کنید و URL endpoint بالا را وارد کنید. هر بار که محتوا ترجمه می‌شود، WPML به این endpoint ارسال می‌کند.

۳. دریافت و ذخیره ترجمه

در callback، ترجمه را در متادیتای مربوطه ذخیره کنید تا در صفحهٔ نمایش یا چت قابل بازیابی باشد.

مدیریت ترجمهٔ محتواهای رسانه‌ای (تصویر، ویدیو)

WPML به‌طور پیش‌فرض بر متن تمرکز دارد، اما تصاویر و ویدیوها نیز نیاز به برچسب زبانی دارند. با استفاده از Alt Text و Caption ترجمه‌شده می‌توان SEO چندزبانه را بهبود بخشید.

۱. افزودن فیلدهای ترجمهٔ Alt Text

در افزونهٔ ACF Pro، یک فیلد متنی برای هر زبان ایجاد کنید و در تگ <img> از آنها استفاده کنید.

"
     alt="">

۲. ایجاد زیرنویس (Subtitle) برای ویدیو

فایل‌های .vtt یا .srt را برای هر زبان در پوشهٔ wp-content/uploads/translated-videos ذخیره کنید و در تگ <video> از آن‌ها استفاده کنید.

<video controls>
  <source src="video_en.mp4" type="video/mp4">
  <track kind="subtitles" srclang="en" src="subtitles_en.vtt" default>
</video>

نکات امنیتی و حریم خصوصی در ادغام WPML و ChatGPT

هنگام استفاده از APIهای خارجی، حریم خصوصی کاربران و امنیت داده‌ها اهمیت دارد. در این بخش، نکات کلیدی برای محافظت از اطلاعات را بررسی می‌کنیم.

توجه: هر اطلاعات حساس (مثل ایمیل، شماره موبایل) نباید به صورت خام به ChatGPT ارسال شود. از روش‌های رمزنگاری و فیلترینگ پیش از ارسال استفاده کنید.

۱. رمزنگاری داده‌های حساس

function secure_message( $message
روش مزایا معایب