مقدمه
در این مطلب قصد داریم مرحله به مرحله پیش بریم تا یک سایت ساخته شده توسط دروپال 7 را چند زبانه کنیم.
در این مطلب فرض ما بر این است که سایت ساخته شده بطور پیشفرض به انگلیسی است. ما زبان فارسی را به آن اضافه میکنیم و سایت را طوری تنظیم میکنیم که مطالب سایت، برچسبها، نظرات و بسیاری دیگر از بخشهای سایت چند زبانه (Multilingual) شوند
نکتهی مهم: در این مطلب آموزشی فرض میکنیم آدرس سایت شما example.com است. وقتی میگوییم به مسیر یا زیرشاخهی /fa از سایت خود بروید، منظور همان example.com/fa است، و:
-
اگر توسط مطلب «آموزش نصب دروپال 7 بر روی هاست رایگان» سایت دروپال 7 خود را ساختهاید، example.com برای شما معادل همان آدرس drupal7test.cloudsite.ir است که ساختید.
-
اگر توسط مطب «آموزش نصب دروپال 7 بر روی هاست لوکال توسط XAMPP» سایت دروپال 7 خود را ساختید، example.com برای شما معادل localhost/drupal7 است، و برای مثال example.com/fa برای شما معادل localhost/drupal7/fa است.
1. اضافه کردن زبان فارسی و تنظیمات زبانها
1.1. فعال کردن 2 ماژول در هستهی دروپال
قبل از هر چیز، به بخش «ماژولها» / «افزونهها» (Modules) از سایت دروپالی خود رفته، ماژول Locale و سپس ماژول Content translation را فعال کنید.
1.2. اضافه کردن زبان فارسی
پس از فعالسازی دو ماژول مذکور، به صفحهی «زبانها» (Languagues) از سایت بروید: برای رفتن به صفحهی زبانها دو راه دارید:
-
در صفحهی Modules بر روی لینک Configure در ردیف ماژول Locale کلیک کنید
-
از منوی بالای سایت به صفحهی «پیکربندی» (Configuration) بروید. سپس آنجا بر روی لینک «زبانها» (Languagues) کلیک کنید تا به صفحهی زبانها بروید
در حال حاضر فقط زبان English در جدول داخل صفحهی «زبانها» قرار دارد، که کُد آن en است و جهت آن چپ به راست (Left to right) است.
بر روی لینک «+ افزودن زبان» (Add language) کلیک کنید.
از باکسی که پایین فیلد «نام زبان» (Language name) قرار دارد، زبان «Persian (فارسی)» را انتخاب کنید و بر روی Add language کلیک کنید. زبان فارسی اضافه شده و بطور خودکار به صفحهی زبانها هدایت میشوید.
حالا در جدولی که در صفحهی زبانها وجود دارد دو زبان English و Persian وجود دارد. کد زبان فارسی fa است و همانطور که واضح است جهت آن راست به چپ (Right to left) است.
برای اطمینان از ذخیره شدن تغییرات، بر روی دکمهی «ذخیره کردن تنظیمات» (Save configuration) کلیک کنید.
1.3. اضافه کردن مسیر زبان فارسی
در این مرحله زبان فارسی به سایت اضافه شده، اما شما تغییری در سایت مشاهده نمیکنید. برای مثال، اگر به زیر شاخهی /fa از سایت بروید اتفاق خاصی نمیافتد (منظور این است که اگر آدرس ریشهی سایت شما example.com است، به example.com/fa بروید)
در این مرحله، برای سایت مشخص میکنیم که چطور متوجه شود بخشی از سایت قرار است به چه زبانی باشد.
در صفحهی زبانها بر روی تب «تشخیص و انتخاب» (Detection and Selection) کلیک کنید. گزینهی URL را فعال کنید و تغییرات را ذخیره کنید.
با انجام اینکار، حالا اگر به مسیر /fa از سایت بروید، مشاهده میکنید ظاهر سایت راست به چپ است. توجه کنید که در این مرحله کلمات به فارسی ترجمه نشدهاند، به همین دلیل برای مثال اگر به example.com/fa بروید کلمات هنوز به انگلیسی هستند، ولی جهت ظاهر سایت عوض شده است.
1.4. انتخاب زبان پیشفرض
در این مرحله انتخاب میکنید که زبان پیشفرض (Default) سایت شما چه باشد. زبانی که به عنوان زبان پیشفرض انتخاب شود در آدرس اصلی سایت قابل مشاهده میشود، و زبانهای دیگر از طریق مسیر خود شناسایی میشوند.
به تب «لیست» (List) از صفحهی زبانها برگردید. در ستون «پیشفرض» (DEFAULT)، زبان فارسی را انتخاب کنید، و تنظیمات را ذخیره کنید.
بعد از ذخیره کردن تغییرات مشاهده میکنید جهت صفحه راست به چپ میشود. دلیلش این است که حالا زبان پیشفرض سایت فارسی است و اگر شما صفحه اصلی سایت خود (example.com) را باز کنید، زبان فارسی شناخته میشود و زبان انگلیسی دیگر از زیرشاخهی /en قابل دسترسی است (example.com/en).
حالا که در مسیر admin/config/regional/language هستید، اگر مایلید باقی مراحل را در صفحات انگلیسی ادامه بدید، به مسیر en/admin/config/regional/language بروید.
با تنظیمات بالا، صفحات فارسی سایت شما از آدرس example.com و example.com/fa، و صفحات انگلیسی سایت شما از آدرس example.com/en در دسترس هستند.
1.5. تنظیمات هر زبان
برای ویرایش تنظیمات هر زبان، زمانی که در صفحهی زبانها هستید، بر روی لینک «ویرایش» (edit) که در ردیف هر زبان قرار دارد کلیک کنید.
در این مرحله نیازی به تغییر اطلاعات زبانها نیست، اما برای اطلاعات بیشتر: میتوانید بعدا نام هر زبان، مسیر آن (Path prefix language code)، جهت آن و ... را در آن بخش تغییر دهید.
2. اضافه کردن ترجمههای زبان فارسی
2.1. دانلود فایل ترجمه از سایت دروپال
به یکی از دو روش زیر فایل ترجمهی زبان فارسی که پسوند po دارد را دانلود کنید:
-
به سایت ترجمههای دروپال بروید. در لیست طولانی از زبانها که وجود دارد، بر روی Persian, Farsi کلیک کنید. بر روی لینک Download که روبروی Drupal core نسخه 7 است کلیک کنید.
-
به صفحهی دانلود ترجمههای هستهی دروپال بروید. از لیست طولانی زبانها که وجود دارد، Persian, Farsi را پیدا کنید. بر روی لینک نسخهی صحیح کلیک کنید (برای مثال، در زمان نوشتن این مطلب: 7.23 (627.01 KB))
2.2. وارد کردن فایل ترجمه به سایت
حالا باید فایل با پسوند po ترجمه فارسی را به سایت اضافه کنیم. برای اینکار باید به تب «ورود اطلاعات» (Import) از صفحهی «رابط ترجمه» (Translate Interface) بروید. به یکی از دو روش زیر عمل کنید:
-
به صفحهی «پیکربندی» (Configuration) بروید. از آنجا به صفحهی «رابط ترجمه» (Translate Interface) بروید، و بر روی تب «ورود اطلاعات» (Import) کلیک کنید.
-
مستقیما به مسیر en/admin/config/regional/translate/import بروید ;)
در فیلد «فایل زبان» (Language file) فایل po را که پیشتر دانلود کردید انتخاب کنید.
در باقی تنظیمات تغییری ایجاد نکنید. فقط مطمئن شوید که در فیلد «ورود به» (Import into) زبان «فارسی» (Persian) انتخاب شده باشد.
بر روی دکمهی «ورود اطلاعات» (Import) کلیک کنید، تا وارد کردن ترجمههای زبان فارسی برای هستهی دروپال شروع شود.
بعد از اینکه import فایل ترجمه تمام شد، به صفحه اصلی سایت (example.com) یا زیرشاخهی /fa بروید. بسیاری از کلمات حالا فارسی هستند :)
3. چند زبانه کردن محتوای سایت
اگر مایلید محتوای سایت چند زبانه شود، باید نوع محتوا (Content type) موردنظر را چند زبانه کنید (برای مثال: اخبار، صفحه ساده، ...). برای اینکار، مراحل زیر را طی کنید:
به بخش «ساختار» (Structure) از سایت بروید، از آنجا به بخش «انواع محتوا» (Content types) بروید. نوع محتوایی که مایلید چند زبانه شود را انتخاب کنید و بر روی لینک «ویرایش» (Edit) روبروی آن کلیک کنید.
در صفحه تنظیمات نوع محتوا که هستید، تب «گزینههای انتشار» (Publishing options) را باز کنید. از قسمت «پشتیبانی از چند زبانی» (Multilingual support) گزینهی «فعال، بههمراه ترجمه» (Enabled, with translation) را انتخاب کنید و تغییرات را ذخیره کنید، تا همانطور که پایین این گزینه توضیح داده شده:
«... یک فیلد انتخاب زبان به فرم ویرایش افزوده میشود، که امکان انتخاب یکی از زبانهای فعال را به شما میدهد ... همچنین ... امکان ترجمه محتوا به هر یک از زبانهای نصبشده را میدهد ... تغییر این گزینه تاثیری در محتوای فعلی ندارد.»
بعد از انجام دادن مراحل بالا، حالا زمان اضافه کردن یک محتوای جدید به سایت، مشاهده میکنید که فیلد «زبان» (Language) در کنار فیلدهای دیگری مانند «عنوان» (Title)، «برچسبها» (Tags)، و غیره اضافه شده است:
و تب «ترجمه» (Translate) به تبهای بالای محتوا اضافه خواهد شد:
اگر مایلید، همین الآن به بخش «محتوا» (Content) از سایت رفته، بر روی لینک «+ افزودن محتوا» (Add content) کلیک کنید، در صفحه بعد نوع محتوایی که چند زبانه کردید را انتخاب کنید و یک محتوا از آن بسازید و بعد ترجمه کنید.
4. نصب ماژول Internationalization، تنظیمات آن، و فراتر از آن!
نکته: کلمهی i18n مخفف کلمهی Internationalization است، به دلیل اینکه بین حروف i و n تعداد 18 حرف وجود دارد :)
4.1. نصب ماژول Variable
برای نصب ماژول i18n، اول باید ماژول Variable را نصب و فعال کنیم.
نسخهی مناسب ماژول Variable را از صفحهی پروژهی Variable دانلود، و بعد نصب و فعال کنید. (توجه: در این مرحله، فقط فعال کردن ماژول Variable کافی است و نیازی به فعال کردن Variable realm، Variable admin، و موارد دیگر نیست)
4.2. نصب ماژول i18n
ماژول i18n را از صفحهی پروژهی Internationalization دانلود، و بعد نصب کنید. سپس موارد زیر را فعال و تنظیم کنید:
4.2.1. Internationalization
بعد از فعال کردن Internationalization، بر روی لینک «پیکربندی» (Configure) روبروی آن کلیک کنید تا وارد صفحهی تنظیمات آن شوید. نیازی به تغییر چیزی در تنظیمات آن نیست.
4.2.2. String translation
بعد از فعال کردن String translation، بر روی لینک «پیکربندی» (Configure) آن کلیک کنید تا وارد صفحهی تنظیمات آن شوید. شاید بخواهید در آن صفحه تمامی گزینههای زیرمجموعهی «Translatable text formats» را تیک بزنید.
4.2.3. Field translation
4.2.4. Block languages
4.2.5. Translation sets
4.2.6. Multilingual content
بعد از فعال کردن Multilingual content،بر روی لینک «پیکربندی» (Configure) آن کلیک کنید تا وارد صفحهی تنظیمات آن شوید.
4.3. رفرش کردن Stringها
نکته: Stringها در واقع همان رشتهها یا سلسله کلمات هستند که در سایت ترجمه میشوند.
به صفحهی «پیکربندی» (Configuration) بروید، از آنجا به صفحهی «رابط ترجمه» (Translate interface) رفته، تب Strings را باز کنید.
گزینههای اول و دوم قسمت «انتخاب گروههای متن» (Select text groups) را فعال کنید و دکمهی Refresh strings را بزنید.
4.4. ترجمه کردن یک String
برای ترجمهی یک «رشته» (String)، یا ویرایش ترجمهی یک String، به صفحهی «پیکربندی» (Configuration) بروید، از آنجا به صفحهی «رابط ترجمه» (Translate interface) رفته، تب «ترجمه» (Translate) را باز کنید. رشتهی مورد نظر یا بخشی از آن را در باکس «رشته شامل» (String contains) وارد کنید و Enter را بزنید. رشتهی مورد نظر را که پیدا کردید، بر روی لینک «ویرایش» (Edit) روبروی آن کلیک کنید و تغییرات لازم را اعمال کنید.
5. چند زبانه کردن اسم سایت، شعار سایت، و ...
برای اینکه اسم سایت، شعار سایت (Site Slogan)، صفحه 403، صفحه 404، پیغام صفحهی نگهداری، و بسیاری موارد دیگر از اطلاعات سایت، پیغامها و ... چند زبانه شوند، این 3 مورد را فعال کنید:
-
Variable realm (زیر مجموعهی ماژول Variable)
-
Variable store (زیر مجموعهی ماژول Variable)
-
Variable translation (زیر مجموعهی ماژول i18n)
سپس به بخش «پیکربندی» (Confiure) از ماژول Variable translation رفته، تمام مواردی که مایلید چند زبانه شوند را فعال کنید.
6. چند زبانه کردن آیتمهای منوهای سایت
برای اینکه امکان چند زبانه و ترجمه کردن لینکهای منوها فراهم شود، قبل از هر چیز Menu translation که زیر مجموعهی i18n است را فعال کنید.
بعد از آن باید هر منو را طوری تنظیم کنید که چند زبانه شود. به صفحهی «ساختار» (Structure)، از آنجا به صفحهی «منوها» (Menus) بروید، منوی مورد نظر که مایلید چند زبانه شود را انتخاب کنید و بر روی لینک «ویرایش منو» (edit menu) روبروی آن کلیک کنید.
نکته: برای ترجمه کردن عنوان و شرح خود منو، در آن صفحه به تب «ترجمه» (Translate) بروید.
چند زبانه شدن آیتمهای منو چند حالت دارد که پایین قسمت Translation mode مشاهده میکنید:
-
No multilingual options for menu items : آیتمهای منو زبان خاصی نداشته باشند
-
Translate and Localize : هر آیتم منو که زبان آن مشخص شود، امکان ترجمه شده داشته باشد (این گزینه توصیه میشود)
-
Fixed Language : هر آیتم منو یک زبان مشخص داشته باشد، و فقط در صفحات به آن زبان نمایش داده شود
پیشنهاد میشود گزینهی دوم را انتخاب کنید. با انتخاب این گزینه، زمانی که در حال اضافه کردن یک لینک (آیتم) جدید به منو هستید، میتوانید برای مثال زبان آن را English انتخاب کنید، و بعد از ذخیرهی لینک منو، آن را ترجمه کنید.
7. چند مورد دیگر
-
برای چند زبانه کردن و ترجمه کردن دستهبندیهای فرم تماس و پاسخهای تماس Contact translation را فعال و تنظیم کنید.
-
برای چند زبانه و ترجمه کردن فرومها (انجمنها) Multilingual forum را فعال و تنظیم کنید.
-
برای چند زبانه و ترجمه کردن ردهبندیها (تگها، دستهبندی، طبقهبندی) Taxonomy translation را فعال و تنظیم کنید.
-
برای چند زبانه و ترجمه کردن ماژول ویوز (Views)، ماژول Internationalization Views را دانلود، نصب و فعال کنید.
-
فایلهای ترجمههای فارسی پروژههای دیگر را در صورت نیاز دانلود و به روشی که در بخش 2.2 آموزش داده شد وارد سایت کنید.