آموزش فارسی سازی قالب و افزونه وردپرس
قبلا مسترکد مطالب مختلفی را از مبتدی تا پیشرفته پیرامون مبحث قالب و افزونه های وردپرس برای شما در سایت درج کرده است. مثلا در سطح مبتدی، ابتدا آموزش نصب قالب وردپرس و آموزش نصب افزونه را در سایت درج کردیم. سپس کمی جلوتر رفتیم و برای شما برگه تقلب قالب های وردپرس را منتشر کردیم. پس از آن به آموزش طراحی قالب وردپرس و آموزش ساخت افزونه پرداختیم. همین چندی پیش هم به همراه هم مبحث پوسته فرزند و ساختن افزونه برای ووکامرس را مرور کردیم. به هر حال نوبتی هم که باشد، نوبت به آموزش فارسی سازی قالب وردپرس و ترجمه افزونه های آن میرسد. در آموزش امروز دقیقا قصد داریم به همین مبحث پرداخته و روش ترجمه قالب و ترجمه افزونه های وردپرس به زبان فارسی را بررسی کنیم.
در این آموزش ابتدا اصول اولیه فارسی سازی قالب و فارسی سازی افزونه های وردپرس را برای شما شرح داده، سپس ابزار مورد نیاز در این زمینه را به شما معرفی میکنیم. در ادامه نیز به روش ساختن فایل ترجمه برای قالب ها و افزونه های وردپرس و یا استفاده از فایل ترجمه از پیش ساخته شده خواهیم پرداخت. البته باید توجه داشته باشید که فارسی سازی یک قالب، تنها به مبحث ترجمه ختم نمیشود. برای سازگار کردن کامل یک قالب با زبان فارسی، در صورتی که قالب مورد نظر به صورت پیشفرض به استایلهای راست به چپ (RTL) مجهز نباشد، لازم است که آن را راستچین نمایید. اما امروز در این آموزش به مبحث راستچین کردن قالب وردپرس نخواهیم پرداخت و تنها به شرح مبحث ترجمه استاندارد قالب وردپرس به زبان فارسی، اکتفا میکنیم (و از آنجایی که ترجمه افزونه های وردپرس نیز به همین صورت انجام میشود، با یک تیر دو نشان میزنیم) البته در آینده در مطلبی جداگانه، به طور مفصل به مبحث راستچین کردن قالب وردپرس نیز خواهیم پرداخت و مجموعه آموزش فارسی سازی قالب وردپرس را با شرح مراحل مربوط به به ایجاد استایلهای مخصوص زبانهای راست به چپ، تکمیل خواهیم نمود. از شما دعوت میکنیم که با ما همراه شوید.
مقدمه ای بر ترجمه قالب و افزونه های وردپرس
پیش از اینکه به سراغ اصل مطلب برویم و روش ترجمه قالب و افزونه وردپرس به زبان فارسی را به همراه هم بررسی کنیم، لازم است به این نکته اشاره کنیم که “ترجمه” و “قابل ترجمه کردن” دو امر کاملا متفاوت و مجزا از یکدیگر هستند. ترجمه قالب ها و افزونه های وردپرس، به شیوه استاندارد به زبان فارسی در شرایطی میسر خواهد بود که قالب یا افزونه مورد نظر از ابتدا به صورت قابل ترجمه، طراحی شده باشد و از اصول I18n پیروی کرده باشد. در سایت رسمی وردپرس، مقاله مفصلی در رابطه با قابل ترجمه کردن افزونه ها و قالب های وردپرس درج شده است که در صورت تمایل میتوانید سری به آن زده و از اطلاعات مفید آن بهره بگیرید. اما از آنجایی که قابل ترجمه کردن یک قالب یا افزونه، بیشتر در حیطه مبحث طراحی آن قرار میگیرد، در آموزش امروز به شرح چگونگی ترجمه قالب ها و افزونه هایی که به صورت استاندارد قابلیت ترجمه را در اختیار کاربران قرار میدهند، پرداخته و از ورود به جزئیات قابل ترجمه کردن افزونه ها و قالب های وردپرس، خودداری میکنیم.
نرم افزار مورد نیاز برای ترجمه : دانلود و نصب Poedit
ابزار مورد نیاز برای ترجمه قالب یا افزونه های وردپرس، نرم افزار Poedit است. این نرم افزار را میتوانید به صورت رایگان از سایت رسمی اش دانلود کرده و آن را بر روی کامپیوتر خود نصب کنید. برای دانلود نرم افزار Poedit روی اینجا کلیک کنید. نصب این نرم افزار، مانند کلیه نرم افزارهای استاندارد دیگر صورت گرفته و نیاز به هیچ نوع توضیح خاصی ندارد. پس از نصب آن، آماده دنبال کردن ادامه مراحل به همراه ما خواهید بود.
استفاده از فایل ترجمه از قبل ساخته شده
به طور معمول فایل ترجمه قالب ها یا افزونه ها را میتوانید در مسیر نصب افزونه یا قالب مورد نظر در فولدر با نام lang یا languages (یا اسامی مرتبط و مشابه دیگر) پیدا کنید. فایل ترجمه ممکن است دارای پسوند po یا پسوند pot باشد. فایل های دارای پسوند po به صورت مستقیم قابل ترجمه هستند ولی برای ترجمه فایل های pot میبایست ابتدا فایل مربوط به زبان خود را با پسوند po ایجاد نمایید تا بتوانید ترجمه افزونه یا قالب خود را آغاز نمایید.
ایجاد ترجمه از فایل دارای پسوند pot
در صورتی که فایل ترجمه ای که در اختیار دارید، دارای پسوند pot است، ابتدا این فایل را با استفاده از نرم افزار poedit باز کنید. (پس از نصب نرم افزار poedit این نرم افزار باید تبدیل به نرم افزار پیشفرض برای بازگشایی فایل های دارای پسوند po و pot شده باشد) سپس در پایین پنجره روی دکمه create new translation کلیک کنید.
در پنجره جدیدی که برای شما باز میشود زبان Persian Iran را انتخاب کنید و عملیات را تایید کنید. در پنجره بعدی، همانطور که در عنوان پنجره نیز قابل مشاهده است، فایلی با نام fa_IR.po برای شما ایجاد شده ولی این فایل هنوز ذخیره نشده است. در این پنجره از منوی catalog گزینه properties را انتخاب کنید تا تنظیمات مربوط به این فایل ترجمه در اختیار شما قرار بگیرد.
در این پنجره در قسمت project name and version میتوانید نام و ورژن پروژه (نام و ورژن قالب یا افزونه ای که در حال ترجمه آن هستید) را وارد کنید سپس اطلاعات تیم ترجمه را در بخش Language Team وارد کرده و در قسمت languages طبعا باید Persian (Iran) انتخاب شده باشد. و اما در بخش Plural Forms گزینه Use custom expression را انتخاب کرده و سپس عبارت زیر را در آن وارد کنید :
1 | nplurals=2; plural=(n != 1); |
در مرحله بعد از انتخاب شدن UTF-8 در هر دو بخش charset و source code charset اطمینان حاصل کنید و در پایان روی ok کلیک کنید. در پایان برای ذخیره فایل ترجمه در بالای پنجره نرم افزار روی دکمه save کلیک کنید. پس از ذخیره فایل fa_IR.po خواهید دید که علاوه بر این فایل یک فایل دیگر با نام fa_IR.mo در فولدر زبانهای قالب یا افزونه مورد نظر ایجاد شده است. در واقع فایل اصلی ترجمه شما همین فایل mo میباشد. اگر دقیقا متوجه منظور ما نشدید، اجازه بدهید کمی بیشتر در این رابطه توضیح بدهیم.
فایل fa_IR.po در واقع سورس ترجمه شماست. بدون وجود این فایل، هیچ کس قادر به ویرایش ترجمه های انجام شده نخواهد بود. این در حالی است وظیفه فایل fa_IR.mo تنها نمایش ترجمه ها در سایت مورد نظر است و با استفاده از این فایل نمیتوان تغییری در ترجمه انجام شده، اعمال کرد. بنابراین مثلا اگر بخواهید که این ترجمه را در اختیار کسی قرار بدهید، بدون اینکه سورس اصلی را در اختیار وی قرار داده باشید، به نحوی که از ویرایش ترجمه ها توسط دیگران جلوگیری شود، تنها کافی است که فایل fa_IR.mo را در اختیار شخص مورد نظر قرار دهید. به این شکل، شخص میتواند از ترجمه در سایتش استفاده کند، ولی نمیتواند هیچ نوع تغییری در ترجمه انجام شده توسط شما اعمال کند.
خوب، در این مرحله همه چیز برای انجام ترجمه آماده است. حالا کافی است که روی هر عبارت کلیک کرده و ترجمه مورد نظر خود را در بخش translation وارد کنید.
اگر تا اینجا کار را به همراه ما دنبال کرده اید، در واقع اصل ماجرا به اتمام رسیده و از این به بعد میتوانید به راحتی به ترجمه قالب یا افزونه مورد نظر بپردازید. اما اجازه بدهید در اینجا به چند نکته اشاره کنیم. اول اینکه در ترجمه ها به مواردی که در آنها متغیر ها مورد استفاده قرار گرفته اند توجه کنید. مثلا عبارتی مثل %s یا %1$s (و کلیه موارد مشابه) همگی متغیر هستند و باید عینا و بدون تغییر در محل مناسب در ترجمه مورد استفاده قرار بگیرند. دوم اینکه همانطور که در تصویر بالا نیز مشاهده میکنید، برخی عبارات دارای دو ترجمه در حالت مفرد و جمع هستند. مثلا یک حالت برای “یک دیدگاه” و حالتی دیگر برای تعداد “x دیدگاه” که x میتواند هر مقداری باشد. در این نوع عبارات، باید ترجمه حالت مفرد و حالت جمع را به صورت جداگانه در تب های singular و plural وارد نمایید. (مجددا استفاده صحیح از متغیر ها فراموش نشود.)
در پایان، پس از اتمام ترجمه، کافی است که در بالای پنجره نرم افزار روی دکمه save کلیک کنید تا ترجمه شما ذخیره شده و قابل استفاده باشد.
ساختن فایل ترجمه از فایل دارای پسوند po
اگر فایل دارای پسوند po را در فولدر زبانهای قالب یا افزونه مورد نظرتان پیدا نکردید، مشکلی نیست. برای فارسی سازی افزونه ها و قالب های وردپرس، از فایل های دارای پسوند po نیز میتوانید بهره بگیرید. در چنین شرایطی عموما میتوانید یک فایل با نام en_US.po یا en_GB.po در فولدر زبانهای افزونه بیابید. در این حالت کافی است یک کپی از این فایل ایجاد کرده، نام آن را به fa_IR.po تغییر دهید و سپس بقیه مراحل را مانند بالا طی کنید.
اگر احیانا فایل po ای که پیدا کرده اید از قبل حاوی ترجمه است، باز هم مشکلی نیست. در این حالت برای خالی کردن فایل و آماده کردن آن جهت ترجمه به زبان فارسی، همه رشته های موجود در فایل را انتخاب کرده و سپس دکمه CTRL + K را فشار دهید. خواهید دید که ترجمه های قبلی از فایل حذف شده، و فایل برای درج ترجمه دلخواه شما آماده میشود.
نکته تکمیلی 1 : در اینجا بد نیست به این نکته اشاره کنیم که اکسپرشن پیشفرض از دید نرم افزار poedit برای Plural Forms در زبان فارسی به شکلی که در بالا به آن اشاره شد نیست. بلکه به صورت پیشفرض باید برای زبان فارسی عبارت nplurals=1; plural=0; در این بخش قرار داده شود. اما استفاده از حالت پیشفرض، در ترجمه قالب ها و افزونه ها، منجر به بروز مشکلاتی در ترجمه عبارات مفرد و جمع خواهد شد. به همین جهت شکل plural forms را به حالتی که در مراحل قبل به آن اشاره شد، تغییر میدهیم.
نکته تکمیلی 2 : نام استاندارد فایل ترجمه برای زبان فارسی fa_IR است. اما در بسیاری از موارد استفاده از فایل با نام fa_IR.mo در ترجمه افزونه ها کافی نبوده و باید نام افزونه به عنوان پیشوند به نام فایل ترجمه افزوده شود. مثلا در افزونه gravity forms برای کار کردن و خوانده شدن فایل ترجمه، لازم است که نام آن به شکل gravityforms-fa_IR.mo تعریف شده باشد. در غیر این صورت فایل ترجمه توسط افزونه خوانده نخواهد شد. البته این مسئله همیشه صادق نبوده و تنها در حالتی که فایل ترجمه با نام عادی خود به درستی کار نکند، لازم است که از این حالت استفاده کنید.
نکته تکمیلی 3 : گاهی ممکن است فایل پیشفرض ترجمه که ای که به همراه یک افزونه یا یک قالب در اختیار شما قرار گرفته است، قدیمی باشد، در این حالت میتوانید در بالای پنجره نرم افزار بر روی دکمه Update کلیک کنید تا فایل ترجمه بر اساس سورس قالب یا افزونه، به روز رسانی شود. البته استفاده از این ویژگی منوط به این است که در properties این فایل ترجمه، در تب source paths، مسیر سورس مربوط به فایل های در حال ترجمه مشخص شده باشد، در غیر این صورت با خطا مواجه خواهید شد. (در بخش بعد در این رابطه بیشتر توضیح خواهیم داد.)
ساختن فایل ترجمه در صورت عدم وجود این فایل
گاهی ممکن است که علیرغم قابل ترجمه بودن یک افزونه یا قالب وردپرسی، فایل ترجمه در آن موجود نباشد. در این شرایط اگر فولدر مربوط به زبان از پیش موجود بوده ولی خالی باشد، کار شما آسان میشود ولی اگر علیرغم اینکه میدانید که افزونه یا قالب مورد نظر قابلیت ترجمه استاندارد را دارد، اما فولدر ترجمه نیز در آن موجود نیست، کمی کارتان دشوار تر خواهد بود. در این حالت برای ترجمه قالب یا افزونه، میتوانید عبارت load_textdomain را در سورس محصول مورد نظر جستجو کنید تا ببینید محصول مورد نظرتان، انتظار دارد که فایل ترجمه در چه مسیری قرار بگیرد. اگر هم چیزی دستگیرتان نشد، باز هم نگران نباشید. چرا که عموما میتوانید انتظار داشته باشید که ایجاد فولدر با نام languages (و گاهی هم lang یا language) کارتان را راه بیاندازد.
و اما برای ایجاد فایل ترجمه، ابتدا نرم افزار poedit را باز کرده و در پنجره آن از منوی file زیرمنوی New WordPress Translation را انتخاب کنید.
در پنجره باز شده به تب On This Computer رفته و سپس با کلیک روی دکمه choose folder، فولدر مربوط به افزونه یا تم خود را انتخاب کنید (یا فولدر را بکشید و روی ناحیه مشخص شده رها کنید) در قسمت Language نیز انتخاب زبان فارسی ایران فراموش نشود. در پایان برای ایجاد فایل ترجمه روی دکمه Continue کلیک کنید. فایل ترجمه شما آماده است و میتوانید مانند آنچه در مرحله قبل توضیح داده شد از آن بهره بگیرید. اما در اینجا لازم است به چند نکته تکمیلی نیز اشاره کنیم. مواردی که میخواهیم در این بخش به آن ها اشاره کنیم، در واقع از پیش توسط نرم افزار poedit برای شما انجام شده اند ولی شاید ارائه توضیحی مختصر در رابطه با آنها به شما در آشنایی بیشتر با نرم افزار poedit و کسب مهارت بیشتر در ترجمه قالب و افزونه های وردپرس کمک کند.
برای بررسی نکات تکمیلی، از منوی catalog به زیرمنوی properties مراجعه کنید. در پنجره جدید به تب source paths بروید. در این تب دو بخش مشاهده میشود. بخش اول که path نام دارد، نمایشگر فولدر ها و مسیر های است که در فایل ترجمه شامل شده اند. وجود نقطه (.) در اینجا به کل فولدر قالب یا افزونه مورد نظر اشاره دارد. در صورت نیاز میتوانید فولدر ها یا فایل های دیگری را به تفکیک به این بخش اضافه کنید. بخش دوم یعنی exclue paths شامل بخش هایی است که نباید در ترجمه وجود داشته باشند. مثلا poedit به صورت پیشفرض یک وایلد کارد با عنوان *.js به این بخش اضافه میکند تا فایل های js در ترجمه شامل نشوند. بنابراین در این بخش نیز در صورت نیاز میتوانید فایل ها، فولدر ها یا پسوند های خاصی را از ترجمه محروم کنید.
و اما تب بعدی یعنی srouce keywords تعیین میکند که poedit برای ترجمه میبایست به دنبال چه کلمات کلیدی بگردد. هرچند این لیست نیز به طور اتوماتیک توسط پوادیت تکمیل میشود ولی جهت اطلاع شما و برای اینکه در صورت نیاز مرجعی جهت یافتن این عبارات داشته باشید، ما آنها را در زیر برای شما درج میکنیم :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | __ _e _n:1,2 _x:1,2c _ex:1,2c _nx:4c,1,2 _n_noop:1,2 esc_attr__ esc_attr_e esc_attr_x:1,2c esc_html__ esc_html_e esc_html_x:1,2c _n_noop:1,2 _nx_noop:3c,1,2 __ngettext_noop:1,2 |
البته در بسیاری از موارد ممکن است خیلی از کلمات کلیدی بالا اصلا در ترجمه مورد نیاز نبوده و اصلا توسط طراح قالب یا افزونه در آن مورد استفاده قرار نگرفته باشند. اما به هر حال، کار از محکم کاری عیب نمیکند!
در پایان …
خوب، حالا که به پایان این آموزش رسیده ایم باید بتوانید به سادگی کلیه افزونه ها و قالب های استاندارد وردپرس را به زبان فارسی ترجمه کنید. البته همانطور که قبلا هم به این نکته اشاره کردیم، فارسی سازی قالب وردپرس یا فارسی سازی افزونه های وردپرس، مبحثی نیست که تنها به ترجمه خاتمه پیدا کند. بلکه برای فارسی سازی، عملا لازم است که یک قالب یا افزونه، امکان کار کرد صحیح در محیط های راست به چپ یا RTL را نیز دارا باشد. هرچند در آینده حتما در آموزشی مفصل به مبحث راستچین کردن قالب های وردپرس خواهیم پرداخت اما با همین آموزشی که امروز در سایت مطالعه کردید، همین حالا میتوانید بسیاری از قالب های وردپرس را که به صورت پیشفرض دارای استایلهای RTL هستند، به زبان فارسی ترجمه کرده و در سایت خود از آنها بهره بگیرید.
در آخر مثل همیشه، امیدواریم که از این آموزش لذت برده باشید. راستی اگر نکته ای را از قلم انداختیم و یا در جایی اشتباهی دیده میشود، شما آن را در بخش دیدگاه ها به ما یادآوری کنید.
مطالعه آموزش های زیر را به شما توصیه میکنیم :
آموزش راستچین کردن قالب وردپرس
آموزش استفاده از Child Theme در وردپرس
آموزش تبدیل قالب HTML به وردپرس
سلام من قالب نصب کردم اما چیزی به عنوان po یا pot نداره داخلش
سلام
اگر مطمئن هستید که قالبتون قابلیت ترجمه استاندارد داره میتونید از بخش "ساختن فایل ترجمه در صورت عدم وجود این فایل" در همین آموزش استفاده کنید.
سلام
خیلی ممنونم به خاطر آموزش خوبتون و از اینکه با این دقت و ظرافت تولید محتوا می کنید باید ازتون تشکر کرد. راستش من نکات شما رو خوندم و خیلی هم خوب می تونم فایل هارو ترجمه کنم، فقط تنها سوالی که برام به وجود اومده اینه که فرض کنید آپدیت جدید قالب بیاد و مثلا توش 10 رشته اضافه بشه، حالا از کجا باید اون 10 رشته رو ترجمه کرد؟ طبیعتا عاقلانه نیست که بریم همه اون رشته های قدیمی ترجمه شده رو کپی پیست کنیم تو فایل جدید زبان. حتما باید راهکاری داشته باشه، ممنون می شم در این زمینه هم راهنمایی کنید.
سلام
ممنون از لطف شما.
در مورد سوالتون، بله خوشبختانه در این مورد ابزاری در نرم افزار poedit وجود داره که دقیقا وظیفش همین کار هست.
اگر آیکن های موجود در نوار ابزار این برنامه رو نگاه کنید، آیکنی رو با عنوان Update مشاهده میکنید. وقتی روی این دکمه کلیک کنید، poedit فایل ترجمه رو بر اساس حالت فعلی قالب یا افزونه مورد نظرتون به روز رسانی میکنه. در نتیجه اگر رشته جدیدی پیدا کنه به فایل ترجمه اضافه میکنه و اگر رشته ای از قالب/افزونه حذف شده باشه، از فایل ترجمه حذف خواهد شد. بعد از این کار به سادگی میتونید رشته های جدید رو ترجمه کنید و فایلتون رو ذخیره کنید.
عرض سلام و خسته نباشید
در ابتدا تشکر می کنم بخاطر آموزش های بسیار خوب و کاربردیتون و یک سوال دارم از خدمتتون. عبارت Fuzzy در نرم افزار poedit چی هست و کارش چیه؟ رشته های که fuzzy هستن رو باید چیکار کرد؟
سپاس
سلام
fuzzy معمولا نوشته هایی هستن که به نحوی ترجمه اتوماتیک روشون انجام شده و نیازمند بررسی دوباره هستن (یا مثلا وقتی فایل ترجمه رو آپدیت کردید و یک رشته یکی دو کلمه با رشته قبلی موجود در فایل متفاوت بوده و به علت تشابه همون ترجمه قبلی براش مورد استفاده قرار گرفته). مثلا اگر از منوی catalog گزینه ی fill missing translations from TM رو انتخاب کنید، و دست به تنظیمات پیشفرض نزنید، هر ترجمه اتوماتیکی که انجام میشه، به عنوان fuzzy برچسب میخوره تا دوباره مرورش کنید و اگر ایرادی داره برطرفش کنید. (البته اینجا میتونید از گزینه Dont mark exact matches as fuzzy استفاده کنید تا این ترجمه ها به عنوان fuzzy علامتگذاری نشن)
سلام. بسیار استفاده کردم. متشکرم. مثل همیشه عالی بود.
ممنون از لطف شما 🙂
سلام من فایل زبان قالبم pot بود که ترجمش کردم و در همون پوشه ای که فایلpotبود همه فایل های زبانمو اپلود کردم ولی تغییرات زبان اعمال نشده.چیکار کنم؟؟
سلام
فایل pot رو که نباید مستقیما ترجمه کنید. طبق آموزش ابتدا باید یک فایل ترجمه از فایل pot بسازید که پسوند po داشته باشه و سپس اون فایل رو ترجمه کنید.
من اول یه فایلpot داشتم. الان ۳تافایل pot, fa_IR.po, fa_IR.mo دارم.فایل po رو ترجمه کردم و همشو اپلود کردم ولی تغییری انجام نشده.
من چند مورد به ذهنم میرسه که در زیر ذکر میکنم :
1 – اول از همه در نظر داشته باشید که ممکنه خود قالب مشکلی در تعریف text domain و موارد دیگه داشته باشه که از ترجمه اون جلوگیری کنه.
2 – آیا مطمئنید که پس از ترجمه فایل po، تغییرات رو ذخیره کردید و ترجمه ها الان در فایل mo اعمال شده و همه چیز به روز هست؟
3 – مطمئنید فایل رو در مسیر صحیحی قرار دادید؟
4 – آیا فایل pot به روزه؟ ممکنه فایل pot با سورس قالب هماهنگ نباشه.
6 – همه قالب ترجمه نشده یا فقط بخش هایی از اون فاقد ترجمه هستن؟ گاهی پیش میاد که مثلا فقط طرف کاربری یک قالب در فایل ترجمه موجوده و مثلا ناحیه مدیریت اون به صورت استاندارد امکان ترجمه نداره.
7 – در نهایت تست کنید و ببینید اگر نام قالب رو به ابتدای فایل mo اضافه کنید و بعد ترجمه رو بجای فولدر قالب، در مسیر wp-contents/languages/themes قرار بدید، ترجمه اعمال میشه یا خیر. (مثلا فرض کنیم اسم قالب kallyas باشه، فایل ترجمه اسمش میشه kallyas-fa_IR.mo)
بجز موارد بالا بدون بررسی نظر خاصی نمیتونم بدم.
خیلی خیلی ممنونم از کمکتون دقیقا مورد اخر درستش کرد.مرسی?
خواهش میکنم.
خوشحالم که مشکلتون برطرف شده 🙂
سلام. بنده قالبی رو برای ترجمه انتخاب کردم. ولی در فایل های قالب پوشه ای با نام languages یا lang وجود نداشت. طبق آموزش شما با نرم poedit اقدام به ساخت فایل ترجمه کردم و چند متن رو ترجمه و فایل رو ذخیره کردم.مثلا متن های نظرات و مطلب قبلی و بعدی و چند نمونه دیگه رو تا توی قالب راحت اعمال بشه. اما جواب نداد. به نظر شما این قالب امکان ترجمه شدن رو نداره؟
اگر با این روش هایی که شما فرمودید تو آموزش نتونیم ترجمه کنیم راه دیگه ای وجود داره ؟
سلام
با توجه به اینکه فرمودید قالب مورد نظر فولدری برای زبان نداشته، احتمالش هست که براش text domain هم تعریف نشده باشه و امکان ترجمه استاندارد اون میسر نباشه. البته برای اطمینان از این مسئله نیاز هست کدنویسی قالب بررسی بشه.
اگر امکان ترجمه استاندارد وجود نداشته باشه، روش منطقی دیگه ای برای این کار نیست مگر اینکه بخواید text domain رو به صورت دستی به قالب اضافه کنید که 1- بسیار وقت گیره 2- با هر آپدیت، میبایست مجددا این عمل رو تکرار کنید.
یه سوالی که مطرحه این هستش که ما ترجمه افزونه ای رو انجام دادیم و بعدش افزونه بعد مدتی یه اپدیت میده
حال ما چطوری فایل ترجمه رو به اففزونه جدید مطابقت بدیم تا ببینیم چه کلماتی اضافه شده برای ترجمه
در نرم افزار پوادیت چیزی من نتونستم پیدا کنم
نوار ابزار بالای poedit یک آیکن به نام update داره. این دکمه رو که بزنید رشته ها از سورس قالب/افزونه آپدیت میشن، اگر چیز جدیدی باشه اضافه میشه و اگر چیزی دیگه موجود نباشه، حذف میشه.
رشته های جدید رو بعد از اضافه شدن به فایل ترجمه میتونید به حالت عادی ترجمه کنید.
محض احتیاط قبل از این کار یه بکاپ از فایل ترجمه اصلیتون تهیه کنید.
سلام
خسته نباشید
واقعا ممنونم بابت زحمتی که برای این آموزش گذاشتید
من یه افزونه رو که داخلش پوشه languages هست رو شروع به ترجمه کردم درست طبق مراحلی که گفتید و در آخر هم ذخیره کردم اما وقتی روی سایت بارگذاری میکنم هیچ چی فارسی نشده.
مثال gravity forms شمارو هم روی افزونه با هر نامی تست کردم، حتی داخل سورس هم نگاه کردم و بر اساس نام درون اون، نام رو انتخاب کردم اما بازم تاثیری نداشت، این ترجمه رو روی ورژن های قبلی تست کردم و ترجمه کامل سالم بود اما روی آخرین نسخه افزونه کار نمیکنه.
به نظرتون چیکار کنم؟
سلام
بر اساس توضیحاتتون که فرمودید روی نسخه های قبلی کار میکرده و الان روی این نسخه کار نمیکنه، ابتدا فایل ترجمتون رو آپدیت کنید و نتیجه رو چک کنید.
کار دیگه ای هم که بد نیست بکنید اینه که بعد از اطمینان از به روز بودن ترجمه، اون رو روی یک نصب خام و تازه وردپرس به همراه افزونه مورد نظرتون تست کنید ببینید نتیجه چیه.
سلام
ممنونم بابت توضیحتون ولی با این روش هم کار نکرد
میشه افزونه رو براتون ارسال کنم تا شما بررسی کنید و من هزینه ناقابلشو تقدیمتون میکنم
سلام
ارسال کنید یه نگاهی بکنم ببینم کاری میتونم انجام بدم یا نه
با سلام و خسته نباشید ، طبق آموزش های شما عمل کردم و کاملا فارسی شد ، میخوام فونت استفاده شده رو تغییر بدم نمیشه !!! پلاگینی که دارم روش کار میکنم پلاگین فاکتور هست میخوام فونتی که موقع چاپ نشون میده رو عوض کنم ،لطفا راهنمایی فرمایید
سلام
البته سوالتون مربوط به این آموزش نمیشه و مبحث جداگانه ای هست ولی به هر شکل برای چاپ باید از استایل های مخصوص پرینت استفاده کنید. مثلا :
@media print
{
/* Your Style Here */
}
آموزش اضافه کردن فونت هم در زیر قابل مطالعه هست :
https://mrcode.ir/?p=4670
سلام. اقا من یه قالب خریداری کردم. با استفاده از افزونه Loco ترجمه سازی رو انجام دادم، اما ۹۹ درصد ترجمه ها اعمال نشده روی قالب، یعنی به عنوان مثال خود آیتم ها و گزینه های مدیریتی سایت ترجمشون اعمال نمیشن. لطفا راهنمایی کنین. خیلی ممنون میشم
سلام. آموزش بسیار کاملی از افزونه ارائه دادید. خیلی ممنون و موفق باشد.
سلام .ممن.ن بابت آموزش خوبتون
یک سوال داشتم . من قالب رو ترجمه میکنم اما بعد از آپدیت جدیدی که برای قالب میاد همه ی ترجمه ها از بین میره و به حالت اولش بر میگرده . چه راحی وجود داره که این اتفاق نیوفته ؟
من ترجمه ها رو درون پوشه languages پوشته قرار میدم.
سلام
عجیبه! چک کنید ببینید خود قالب فایل ترجمه fa_IR.mo داره؟
تو این حالت برای جلوگیری از حذف ترجمه ی خودتون میتونید ترجمه ی خودتون رو در فولدر wp-content/languages/themes قرار بدید و بعد از ارائه ی آپدیت برای قالب، فایل ترجمه ی پیشفرض موجود در قالب رو خودتون حذف کنید.
فقط دقت کنید که در این حالت باید اسم فایل ترجمتون در ابتداش textdomain قالب به همراه یک علامت خط تیره (دش) درج شده باشه.
سلام . بله .
پوسته های فارسی دارای فایل po و mo ی fa_IR هستند .
شما افزونه ی loco translate رو نصب کنید. قطعا ذخیره می شه و اینکه از بخش خروجی گیری از تنظیمات افزونه ، این کار را انجام دهید .
شاد باشید .
سلام
ممنون از سایت خوب و پرمحتوای شما
ببخشید افزونه بخش سایت شما با عنوان " شاید از اینها هم خوشتان بیاید!" یا همان پستهای مرتبط چیست؟
سلام خیلی متشکرم بابت آموزش
سلام ببخشید قالب های سایت شما قابل ترجمه هستن؟
سلام ایوول. واقعا بی نظیرید.
ممنون
سلام.چرا تغییرات پپوادیت انجام نمیشه؟
سلام.چرا تغییرات poedite انجام نمیشه؟
عباراتی مثل
[%1$s] New Feedback
یا
[%1$s] New Review: "%2$s"
چه جوری باید ترجمه بشن؟ لطفا در مورد علامات اندیس باز و بسته هم توضیح بدید که چی هستن
از دید من اندیس جزو بخش نمایشه عبارات بالاست. یعنی شما باید فقط new feedback و new review رو ترجمه کنید و باقی عبارت به شکل اولیه باقی بمونه. مثلا :
[%1$s] بازخورد جدید
سلام من افزونه گردونه شانس ووکامرس رو ترجمه کردم و همه کراهایش رو از صفر تا صد انجام دادم و فایل فارسی هم ساختم اما وقتی افزونه رو آپلود کنم همچنان انگلیسیه
ممنون.
سلام یه سوال کلیدی از کجا میشهه فهمید قالب قابلبت ترجمه داره یا خیر
با سلام
من به مشکل ترجمه قالب برخورده ام.
تو قسمت تنظیمات تم مثلا>>بخش site Loader ,وقتی میخواهم به فارسی ترجمه کنم از تابع __ استفاده می کنم و به فارسی ترجمه می شود.اما وقتی روی site loader که کلیک میکنم تنظیمات آن ظاهر نمی شود.زمانی که ترجمه فارسی آن را برمیدارم و روی آن کلیک میکنم،بخش تنظیماتش ظاهر می شود.آیا تابع ترجمه من اشتباه است ؟ چه تابع ای برای این کار استفاده می شود؟
من فکر میکنم چون یه حالت پیوند یا لینکی که به هم دارند باید تابع دیگه ای استفاده بشه ! لطفا راهنمایی کنید.
سلام
اگر برداشت من از توضیح شما صحیح باشه، از دید من مشکل از ترجمه شما نیست و پیاده سازی اون بخشی که باز نمیشه ایراد داره. یک سری از قالب ها / افزونه ها میان تب ها یا صفحات تنظیماتشون رو از نظر آدرس دهی به یک عبارت وابسته میکنن که از دید من انجام این کار اشتباهه و دقیقا به همین علت بعد از ترجمه به هر زبانی، در دسترسی به بخش های خاص اون قالب یا افزونه مشکل ایجاد میشه.
سلام
من با استفاده از تابع برای ترجمه قالب استفاده کرده ام.
اما زمانی که قسمت advance option به فارسی ترجمه شد تنظیمات آن بخش نمایش داده نشد.ولی زمانی که به هر زبانی ترجمه میشه اون بخش تنظیماتش هم ظاهر میشه .فقط برای زبان فارسی این مشکل وجود داره.
از چه تابع ای میتوانم استفاده کنم برای ترجمه .
از دو تابع زیر استفاده کردم
تابع:
__
esc_html
در تصویر زیر سربرگ Instagram به فارسی ترجمه شد اما تنظیماتش ظاهر نشده
#
لینک دانلود قالب #
فایل ویرایش شده به نام #####
لطفا من را راهنمایی کنید.
سپاس از لطف و توجه شما
این نرم افزار Poedit پوست ادمو میکنه تا ترجمه کنه من رفتم سایت # چندتا pot فارسی بهش دادم الان تو دیتابیسش ثبت شده میتونین راحت برین فایلتونو بدین بهش ترجمه شده بگیرین، اگر po ترجمه شده هم دارین بهش بدین دیتابیسش کاملتر بشه
سلام
برای ترجمه افزونه های وردپرس از کجا می توان افزونه ها وقالب ها رادانلود کرد وسپس اقدام به ترجمه کردمثلا برای دانلود المنتور پرو از کجا باید دانلود کرد سپس اقدام به ترجمه کنیم ؟
سپاس
سلام
برای دانلود کردن این نوع آیتم ها میتونید از مسترکد مارکت استفاده کنید. مثلا برای دانلود المنتور پرو :
https://market.mrcode.ir/?p=6812
سلام / یک سوال / چجوری میشه به یک پلاگین فونت اضافه کرد؟
با سلام
زبان اصلی وب سایت من انگلیسی است و قصد دارم با افزونه WPML آنرا به چند زبان دیگر از جمله فارسی و عربی هم ترجمه و لوکالایز کنم. قالبی که استفاده می کنم ترجمه فارسی هم دارد.
سؤابرای ایجاد زبان فارسی سایت که همان زبان دوم سایت محسوب می شود، چطور می توانم از این *ترجمه آماده قالب* استفاده کنم؟
سلام وقتتون بخیر من همه کارهایی که گفتید رو انجام میدم ولی فایل mo. رو ندارم.باید چیکار کنم؟
سلام
اگر مراحل رو به درستی دنبال کنید، خود نرم افزار poedit فایل mo رو برای شما ایجاد میکنه. این یک پروسه اتوماتیک هست که در زمان ذخیره فایل po انجام میشه. بدون داشتن فایل mo ترجمه ای در قالب و افزونه ها نشون داده نخواهد شد.
بسیار عالی و کارآمد بود