آموزش ساخت و ویرایش فایل زبان در وردپرس
در این نوشته از وبلاگ ماندگار وب به آموزش چگونگی ساخت و ویرایش فایل زبان در قالبهای وردپرس خواهیم پرداخت. اگر شما هم پوستهای را از مخزن وردپرس دریافت کرده باشید متوجه این موضوع خواهید شد که بیشتر قالبهای به اشتراک گذاشته شده در مخزن وردپرس طبق مستندات وردپرس بصورت استاندارد همراه با فایل زبان و شیوه نامهی RTL ترجمه گردیده و در اختیار کاربران قرار میگیرد.
همانطور که میدانید یکی از ویژگیهای منحصر به فرد پوستهها و افزونههایی که همراه با فایل زبان آماده میگردند این است که کاربران به راحتی و بدون ویرایش مستقیم و مکرر فایلها به سهولت میتوانند واژههایی که در پوستهها و افزونهها به کار رفتهاند را به راحتترین شکل ممکن به واژهی مورد پسند خود تغییر دهند که با وجود فایل زبان حتی در بروزرسانیهای بعدی پوسته یا افزونه، تغییرات آنها از بین نخواهد رفت. از این رو بنا به درخواست تعدادی از کاربران که با نحوهی ویرایش و ایجاد فایل زبان در وردپرس آشنایی نداشتهاند آموزشِ کاملی را آماده ساختهایم که به کمک این آموزش قادر خواهند بود برای پوستههای خود فایل زبان ایجاد کنند و یا فایل زبان پوستهها را ویرایش نمایند.
آموزش ساخت فایل زبان وردپرس:
برای ساخت فایل زبان در وردپرس پیش از هر اقدامی نیاز است این قابلیت را با استفاده از توابع مخصوص در قالب وردپرس خود ایجاد کرده و تمامی رشتههای متنی و دستوری را برای ترجمه پوسته فراخوانی کنید.
در توابعی که برای ساخت فایل زبان در وردپرس به کار میرود دو آرگومان وجود دارد که آرگومان اول برای واژه یا همان متن مورد نظر به کار میرود و آرگومان دوم به عنوان شاخص یا همان نامی که برای پروژه خود انتخاب نمودهاید به کار میرود که این نام به دلخواه و توسط شما انتخاب میشود و در این آموزش mandegarweb را به عنوان شاخص قرار دادهایم.
برای شروع فهرست کاملی از توابع وردپرس را برای شما آماده نمودهایم که صرفا جهت آشنایی شما با این توابع است:
_e
__
__ngettext
_n
__ngettext_noop
_n_noop
_x
_nx
_nx_noop
_ex
esc_attr__
esc_attr_e
esc_attr_x
esc_html__
esc_html_e
esc_html_x
_c
_nc
توابعی که در خط اول (e_) و دوم (__) لیست آمادهاند جزء توابع اصلی وردپرس برای ایجاد فایل زبان هستند که تابع e_ مقدار داده شده را چاپ میکند برای نمونه این تابع تنها در زمانی به کار میرود که در پوسته وردپرس رشته دستوری وجود نداشته و تنها رشتهی متنی برای ترجمه وجود دارد که برای افزودن قابلیت ترجمه شدن رشتههای متنی میبایست همانند نمونه زیر از تابع e_ استفاده کنید:
پیش از ترجمه شدن:
<div>Wordpress Hosting</div>
پس از ترجمه شدن:
<div><?php _e('Wordpress Hosting','mandegarweb'); ?></div>
حالت بعدی ترجمهها، رشتههای دستوری یا همان عملیاتی هستند که برای افزودن قابلیت ترجمه شدن رشتههای دستوری میبایست همانند نمونههای زیر از تابع __ استفاده کنید:
پیش از ترجمه شدن:
<?php comments_popup_link('No comment', 'One comment', '% comment'); ?>
پس از ترجمه شدن:
<?php comments_popup_link(__('No comment', 'mandegarweb'), __('One comment', 'mandegarweb'), __('% Comment', 'mandegarweb') ); ?>
پیش از ترجمه شدن:
<?php comments_number('No comment', 'One comment', '% Comment'); ?>
پس از ترجمه شدن:
<?php comments_number(__('No comment', 'mandegarweb'), __('One comment', 'mandegarweb'), __('% Comment', 'mandegarweb') ); ?>
پیش از ترجمه شدن:
<?php comment_form_title('Leave a Reply', 'Leave a Reply to %s'); ?>
پس از ترجمه شدن:
<?php comment_form_title(__('Leave a Reply', 'mandegarweb'), __('Leave a Reply to %s', 'mandegarweb') ); ?>
پیش از ترجمه شدن:
<?php edit_post_link('Edit'); ?>
پس از ترجمه شدن :
<?php edit_post_link(__('Edit','mandegarweb')); ?>
پس از اضافه کردن قابلیت ترجمه شدن به تمامی رشتههای قالب وردپرس نوبت به استفاده از نرم افزار متن باز poedit میرسد، ابتدا نرم افزار را مناسب با سیستم خود از این آدرس دریافت و بر روی سیستم خود نصب نمایید. بعد از نصب نرم افزار پوادیت به منوی File رفته گزینهی New catalogue را انتخاب نموده و همانند تصویر زیر نام و سایر مشخصات پروژهی خود را وارد نمایید، لازم به ذکر است نام پروژه یا همان شاخص به دلخواه شما میتواند تعیین شود که در این آموزش وردپرس ما آنرا mandegarweb تعریف نمودهایم.
در برگ بعدی پنجرهی catalog properties یعنی تب suorces paths نیاز است همانند تصویر زیر آدرس پوستهای که آنرا برای ترجمه کردن آماده ساختهاید در فیلدهای مربوط وارد نمایید:
و در تب آخر sources keywords نیز همانند تصویر زیر توابعی که برای اضافهکردن قابلیت ترجمه شدن به پوستهی خود اضافه نمودهاید را توسط آیکون New item که در تصویر با حاشیهی آبی رنگ مشخص شده است در فیلدهای مربوط وارد نموده و در آخر بر روی دکمهی Ok کلیک نمایید:
پس از کلیک کردن بر روی دکمهی Ok پنجرهی تازهای با عنوان Save as برای شما باز خواهد شد که شما باید فایل را با نام fa_IR ذخیره نمایید، خواهشمندیم در هنگام ذخیره کردن فایل حتما به کوچکی و بزرگی حروف و آندرلاین بودن خط توجه فرمایید چرا که در صورت عدم صحیح بودن نام فایل، فراخوان شدن و بارگذاری فایل زبان در وردپرس با مشکل مواجه خواهد شد.
پس از طی کردن تمامی مراحل بالا اینک لازم است برای استفاده از فایل زبان در وردپرس و فراخوان کردن آن تابع زیر را در فایل header.php پوستهی خود بین برچسب head قرار دهید:
<?php load_theme_textdomain('mandegarweb'); ?>
تابعی که در بالا آمده است فایل زبان در ریشه پوسته قرار دارد چنانچه شما تمایل دارید فایل زبان پوسته را در پوشهای مجزاء قرار دهید میتوانید از تابع زیر استفاده کنید:
<?php load_theme_textdomain('mandegarweb',get_template_directory().'/language'); ?>
نکته :چنانچه در فایل فانکشن پوسته شما نیز از توابع ترجمه استفاده شده است قرارگیری تابع بالا برای فراخوان کردن ترجمهها الزامی است.
آموزش ویرایش فایل زبان وردپرس:
چنانچه پوستهای را دریافت نمودهاید اما واژههایی که در ترجمهی پوسته به کار رفتهاند مورد پسند شما نیست و تمایل دارید از واژههای مورد نظر خود استفاده کنید ابتدا میبایست نرم افزار poedit را مناسب با سیستم خود از انتهای همین نوشته دریافت نمایید و بعد از نصب نرم افزار پوادیت به پروندهی پوسته رفته و فایل زبان آنرا توسط نرم افزار اجرا کنید، بعد از بازشدن فایل زبان میتوانید واژههای مورد نظر خود را جایگزین واژههای فارسی موجود در فایل زبان نموده و پس از اتمام ترجمه، فایل را ذخیره و آنرا مجدد بر روی هاست وردپرس خود بارگذاری و جایگزین کنید.
امیدوارم آموزش ساخت و ویرایش فایل زبان در وردپرس مورد پسند شما دوستان عزیز قرار گرفته باشد.
دیدگاهها در "آموزش ساخت و ویرایش فایل زبان در وردپرس"
دیدگاه خود را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.
ممنون!
خواهش میکنم امین جان
ممنون
مفید بود
سلام کار شما واقعا عالی
ببخشید میدونم جاش اینجا نیست ولی خب مجبورم بپرسم
من از افزونه ی filemanager برای گذاشتن فایل هام برای دانلود استفاده می کنم تا زمانی که فایل کم حجم می ذارم مشکلی نیست ولی زمانی که فایل مثلا 7 مگابایتی mp3 میذارم دانلودش برای بازدید کنندگانم سخت تقریبا غیر ممکن و (چون کم سرعت و قابلیت ریزوم هم نداره)
چه پیشنهادی می تونید به من کنید هاست من امریکاست کلی هم روی سرعتش مانور داده بودن
میدونم جای خواستم اینجانبود ولی به بزرگی خودتون ببخشید و پیشاپیش متشکرم از پاسخ شما
سلام سعید جان اشکالی نداره عزیزم نیازی به معذرت خواهی نیست
اول از همه سعی کنید این افزونه رو غیرفعال کنید و دنبال افزونه ی دیگه ای باشید چون تا اونجایی که خاطرم هست این افزونه باگ امنیتی داره که موجب آسیب پذیری سایتتون میشه
منظورتون رو کامل متوجه نشدم اما اگه محدودیت حجم آپلود دارید و نمیتونید بیشتر از این مقدار بارگذاری کنید(پیش فرض وردپرس) با جستجو میتونید آموزشهایی رو برای افزایش این مقدار پیدا کنید
و اگه منظور شما پایین بودن سرعت دریافت فایل هست باید بگم بحث جدایی داره که مربوط به سرور و هاست شما میشه که در کل بی ربط با وردپرس هست بهترین راه اینه با پشتیبانی هاستینگ در میون بگذارید و یا با پرسش بین دوستان به دنبال سرویس مناسب تری برای اشتراک گذاری فایل هاتون باشید.
موفق باشید {گل}
با سلام خدمت آقای خلجی مهر .
میخواستم بدونم نام آرایه ها رو هم میشه به همین ترتیب فارسی کرد ؟
چون پنل تنظیمات یه پوسته ای رو میخوام فارسی کنم ، عناوین تب هاش رو وقتی تغییر میدم به فارسی ، محتوای همه تب ها یکی میشه ! با همین فایل زبان درست میشه یا باید کار دیگه ای بکنم !؟
درود
بله از این قابلیت در تمام فایل ها از جمله فایل تنظیمات میتوان بهره برد منتهی در شرایطی همانند پوسته شما که ممکن است از نام آرایه ها برای تغییر محتوی توسط فایل های js استفاده شده باشد
کدهای فایل تنظیمات یا قسمت مربوط را در انجمن پیوست کنید تا دوستان بررسی و راهنمایی کنند
موفق باشید
ای بابا ! برای ساخت فایل زبان وردپرس که باید نسخه ی Pro رو تهیه بکنی ! نسخه کرک شدش هم که گیر نمیاد . . . .
قربونتون برم کجا رو گرفتین؟
این نرم افزار بصورت رایگان در همه جا و برای تمامی سیستم عامل ها در دسترس هست
انتهای همین نوشته پیوندهای دریافت نرم افزار رو گذاشتم
شاد باشید
زنده باشید آقای خلجی مهر عزیز ، ممنونم
خواهش میکنم قربونتون برم، خوشحالم که مفید واقع شده
موفق باشید
فقط ببخشید میشه بگین رشته های
_n_noop
رو چطوری میتونم ترجمه کنم !؟ گیر کردم توی سایت های خارجی هم که واضح توضیح نمیدن
اگه برای طرح خودتون هست نیازی به استفاده از این رشته نیست و پیشنهاد میکنم از رشته های اصلی استفاده کنید
اگه ترجمه هست تا اونجایی که خاطرم هست این رشته ها بدون شاخص هستند و بصورت خودکار در فایل ترجمه قرار میگیرند
به هر حال اگر موفق نشدید در انجمن مطرح کنید تا دوستان راهنمایی بفرمایند.
موفق باشید
سلام
برای فراخوانی فایل .mo در پلاگین چه کدی باید بزنیم؟
لطفا راهنمایی کنید
درود
در مستندات توضیح داده شده
خیلی عالی بود ممنونم
خیلی فوق العاده بود
خیلی ممنون بابت وب سایت خوبتون
خواهش میکنم دوست عزیز
باسلام من برای اضافه کردن توابع ترجمه به فایل تنظیمات پوسته به مشکل برخوردم عبارتی مانند زیر وجود داره که با اضافه کردن تابع ترجمه به اونها هیچ اتفاقی نمی فته و به فایل زبان اضافه نمشن :
“std” => ” Responsive Options”
که از این خط Responsive Options باید ترجمه شود
میشه راهنمایی بفرمایید
درود
[php]
“std” => __(‘Responsive Options’,’mandegarweb’),
[/php]
لطفاً در صورت لزوم مشکل را در انجمن پیگیری کنید.
سلام دوست عزیز یه سسوال در مورد فارسی سازی پوسته داشتم :
در حال فارسی کردن یک پوسته هستم که فایل زبان رو هم بصورت کامل داره و مشکلی که هست اینه که بعضی از عبارت هایی که در فایل زبان و بوسیله برنامه poedit ترجمه میکنم ، در قالب نمایش داده نمیشه
البته خیلی از عبارات هم نمایش داده میشه
درفایلهای php هم توابع ترجمه کاملا پیاده سازی شده ، در صورت امکان به بنده یه کمکی کنید ، ممنون
ضمن اینکه در انجمن هم مطرح کردم ولی موفق به حل مشکل نشدم
درود بر شما
تنها دلایلی که برای وجود چنین مشکلی میبینم این هست که یا از کلمات همراه با آوردن شاخص رشته گرفته نشده، مثله نمونه ی زیر که این رشته در فایل زبان شناخته میشه اما در صورت ترجمه شدن هم به دلیل نبود شاخص کلمه ی ترجمه شده جایگزین نمیشه
[php]
{__ “mandegarweb blog”}
[/php]
دلیل بعدی هم این میتونه باشه که حتماً باید در فایلی که ترجمه در اونها صورت نمیگیره تابع فراخوان کردن رو بیارید
[php]
[/php]
موفق باشید
سلام من با ترجمه یه قالب مشکل دارم اگه راهنمایی کنی ممنون میشم
مشکل : تو قالب 5 تا رشته متنی Read More وجود داره در داخل چند فایل مختلف مثه loop و single و… من شاخص و برای این5 تا متن قرار میدم ولی ترجمه نمیشه …ولی اگه واسه یکیش شاخص قرار بدم ترجمه میشه ؟؟؟
درود
همچین چیزی که ممکن نیست دوست خوبم، حالا چه یکبار چه صد بار تفاوتی نداره، تنها نکته اینه که شاخص و خود کلمه یکسان باشه
سلام شرمنده بخدا بازم مزاحم شدم :
قرض از مزاحمت : من وقتی میخوام فایل ترجمه (fa_IR.po) رو ذخیره کنم با این ارور مواجه میشم :
http://www.uplooder.net/img/image/31/c539647b36c217eadff2696b95d2e4a7/2014-11-10_20-25-08.jpg
درود
اسد جان این مشکل احتمالاً به خاطر ترجمه هست، یعنی رشته ای که تو فایل زبان هست به این شکل اومده :
[php]
%s mandegarweb
[/php]
اما شما اونرو به این شکل ترجمه کردید
[php]
ماندگار وب
[/php]
وقت بخیر
منمون ممنون تشکر فراوان
با سلام
من تمام مراحل بالا را انجام دادم اما وقتی پوسته را نصب می کنم فرا خوانی نمی کند و همچنان عبارات به صورت لاتین است.
درود
شک نکنید که یک جای کار میلنگد 🙂
در انجمن مطرح کنید
با سلام
بنده تمامی مراحل را به طور کامل انجام دادم . فایل زبان تمامی عبارات را شناخت و آنها را داخل نرم افزار برای تر جمه آورد. برخی را ترجمه کردم و جواب داد اما برخی دیگر با وجود اینکه ترجمه کردم اما وقتی صفحه را چندین بار رفرش کردم باز همان ترجمه ها بود! (تصویر آن پیوست شد.)
s5.picofile.com/file/8158172784/%DB%8C.JPG
از طریق یافتن مرجع عمل کردم و عبارات را داخل قالب با عبارات فارسی جایگزین کردم و عمل کرد.
به نظر شما مشکل فایل زبان چیست؟
فایل پیوست شد.
s5.picofile.com/file/8158174018/settings.php.html
درود
فایل زبان مشکلی نداره این موضوع به خاطر این هست که باید تابع فراخوانی فایل زبان را در فایلهای تنظیمات نیز قرار دهید
لطفاً در انجمن مطرح کنید تا دوستان راهنمایی بفرمایند.
با سلام
همین که گفتید فایل زبان مشکلی نداره خودش کلیه.
با تشکر
خواهش میکنم
فایل زبان هیچ وقت براش مشکلی پیش نمیاد مگر اینکه رشته هایی که همراه با دستورهای (کاراکتر) خاص هستند به اشتباه ترجمه بشند که این مورد هم اگه از نگارش تازه ی نرم افزار پوادیت استفاده کنید مشکل بوجود اومده رو براتون مشخص میکنه
شاد باشین
تشکر
سلام
از نرم افزار poedit استفاده می کنم اما این نرم افزار اجازه ی ویرایش معنی و یا افزودن کلمه جدید و ترجمش را نمیده گویا ، اینطور نیست؟
درود
خیر اینطور نیست دوست خوبم
برای هر رشته دو کادر وجود دارد که واژه ی مورد نظر برای ترجمه در کادر بالا و ترجمه در کادر پایین قرار داده میشود
موفق باشید
سلام
من فایل زبان و ترجمه کردم و اسمش و fa_IR گذاشتم و خود به خود پوسته فارسی شد.
مشکل اینجاست که تنظیمات پوسته فارسی نمیشه
توی فانکشن هم تابع فراخوانی بود.اونم ارجاع دادم به فایلی که ترجمه کردن که نه تنها کار نکرد بلکه پوسته انگلیسی شد :/
مشکل کجاست به نظرتون؟
درود
درسته وقتی به نام fa_IR ذخیره بشه بصورت خودکار ترجمه ها اعمال میشند
برای تنظیمات باید فایل زبان رو در فایل تنظیمات پوسته فراخوان کنید :
[php]
load_theme_textdomain(‘mandegarweb’,get_template_directory().’/language’);
[/php]
تو انجمن مطرح کنید تا دوستان مشکل بوجود اومده رو بررسی کنند.
ممنون
تابع فراخوان و از فانکشن حذف کردم و به هدر اضافه کردم درست شد
ولی مشکل پنل تنظیمات به قوت خودش باقیه
معمولاً همینطور هست باید دستور فراخوان کردن رو تو فایل تنظیمات هم بگذارید، تو فایل های مرتبط تست کنید تا نتیجه بگیرید
بازم ممنون
با سلام
من قبلا یک قالب ترجمه کرده بودم و حالا ورژن جدید اون رو دارم و قصد هم ندارم از نو ترجمش کنم. فایلهای زبان ورژن قبلی رو داخل اون قالب جدید قرار دادم و بروز رسانی رو هم زدم اما خطا می داد. خطا رو که نگاه می کنم مسیری رو که قبلا در قالب قبلی برای فایل زبان انتخاب کرده بودم رو نشون میده.
حالا برای اینکه مسیر فایل زبان رو به ورژن جدید قالب بشناسونم باید چکار کنم؟
با تشکر
درود
از منو > کاتالوگ > پروپرتیس
سپاس
سلام دوست عزیز
در حال فارسی کردن یک پوسته ام ، منتها بعضی از عبارات که از تابع _x درشون استفاده شده
ترجمه شون در قالب نمایش داده نمیشه
چه باید بکنم؟ راهنمایی میفرمایید؟
درود
اگه شاخص مشخص شده برای گرفتن رشته مثلاً mandegarweb نیومده باشه درسته نمایش داده نمیشه
سلام
من میخوام قسمت نظرات سایتمو انگلیسی کنم و بقیه قسمتها فارسی بمونه باید چکار کنم؟
درود
دوست خوبم لطفاً مشکلات بی ربط با نوشته را در انجمن مطرح کنید
درود بر شما
درسته این مشکل وجود داره و من اطلاعی ندارم که چطور حل میشه، اما من خودم پوسته هایی رو که بصورت دو زبانه آماده میکنم این قسمت رو به شکل زیر وارد میکنم
[php]
comments_number(__(‘No comments’, ‘mandegarweb’), __(‘One comment’, ‘mandegarweb’), __(‘% Comments’, ‘mandegarweb’) );
[/php]
سلام دوست عزیز
من ی پوسته دارم که فایل زبان داره ، و عمل ترجمه هم بدون هیچ مشکلی تو فایل انجام و ذخیره میشه
ولی در هناگام نمایش اصلا تاثیر نمیکنه و ترجمه ها نمایش داده نمیشه
ضمن اینکه حتی به صورت دستی هم ترجمه کردم درفایل سورس ، و عبارت فارسی رو جایگزین کردم ولی باز هم تاثیر نداشت
میشه ذراهنمایی کنید ؟
درود
خب باید مشکل در پوسته بررسی بشه چون بدون بررسی نمیشه احتمالی داد
لطفاً در انجمن مطرح کنید تا دوستان پوسته را بررسی و شما رو راهنمایی کنند.
سلام
وقت بخیر
در ابتدا از سایت فوق العاده شما تشکر میکنم ، واقعاً در برخی موارد به داد آدم میرسه 🙁
عذر میخوام شما امکان دریافت سفارش فارسی سازی را نیز دارید ؟
با تشکر
درود
لطف دارین شما
بله، از فرم تماس اقدام کنید.
سلام امیر آقا
داداش یه سوال داشتم.
شما توی آموزش بالا برای معرفی فایل ترجمه به قالب از یه تکه کد PHP استفاده کردی.
حالا من میخوام این معرفی رو برای افزونه داشته باشم و اون هم داخل کد PHP افزونه
افزونه ای که من دارم روش کار میکنم یه کد سراسری
من هم میخوام اون معرفی داخل همین تگ کلی PHP باشه.
ظاهرا اگه همون تکه کد شما رو داخل کد بالا میذارم، صفحه رو لود نمیکنه.
ممنون میشم راهنماییم کنی عزیز
درود
مستندات :
codex.wordpress.org/Function_Reference/load_plugin_textdomain
و آموزش زیر رو بررسی کنید :
ulrich.pogson.ch/load-theme-plugin-translations
ممنونم که پاسخ دادی عزیز
یه سوال و درخواست دیگه هم داشتم.
شما توی ایجاد فایل جدید ترجمه در برنامه پوادیت گفتی که اسم پروژه همون شاخص باید باشه
حالا توی تکه کدی که باید ترجمه رو به پلاگین اضافه کنی یه بخشی داره برا اسم پلاگین
اونجا باید چی بزنم؟
اصن اگه محبت کنی و آدرس زیر رو برام با نمونه عملی توضیح بدی ممنون میشم
gist.github.com/grappler/7060277#file-plugin-name-php
نه تفاوتی نداره وقتی قراره یک پروژه تازه ایجاد میکنید نام پروژه رو تو پوادیت چی بذارید، فقط بهتره که با شاخص همنام باشه. (هیچ تفاوتی نداره)
تو لینکی که آوردین نام پلاگین همون شاخص هست
[php]
$domain = ‘plugin-name’;
[/php]
پرسشی بود در انجمن مطرح کنید دوست من
خیلی ممنونم
در انجمن پیگیر هستم
ولی …
بازم از لطفی که کردین خیلی سپاسگذارم
انجمن کاربران فعالی داره، حتما به نتیجه میرسید سپهر جان
ن می خوام نام فایل زبان یک افزونه رو تغییر بدم. ولی کار نمیکنه بعدش.
مثلا فایل زبان یک افزونه به صورت ای نباید باشه تا اجرا بشه:
textdomain-fa_IR.mo
ولی من می خوام فقط fa_IR.mo باشه. چطوری این کار رو بکنم؟از چه کدی استفاده کنم. هر چی سرچ زدم چیزی پیدا نکردم
شما دارین حالت پیش فرض رو از بین میبرین، اگه شدنی هم باشه همراه با دردسر هست یعنی باید دستوری نوشته بشه که برای افزونه مسیر و نام فایل زبان رو مشخص کنه
موفق باشید
سلام . آقا امیر لطف کن و به این سوال جواب بده:
من یه قالب دارم که شاخص این قالب the7mk2 هست (فکر کنم فهمیدی چه قالبیه 🙂 )
خب ، حالا من باید در کد فراخوانی که شما میگید ، به جای mandegarweb ، این شاخص رو قرار بدم یا نام خود قالب رو ؟؟
سوال بعد :
تنظیمات این قالبی که میگم فارسی نمیشه ، این قالب یه فایل به نام options.php داره ، من باید این کدرو در این فایل قرار بدم؟ راستش قرار دادم اما نشد ، راست ترش رو بخواید ، من این کد رو به صورت های مختلف یعنی با نام خودقالب ، با شاخص ، با چیزای الکی ، در هدر و فانکشن هم فراخوانی کردم. بازم نشد که نشد که نشد…
حالا با این همه حرفای الکی که زدم ، میخوام شما بگی که دقیقا کد رو به چه صورت و کجا قرار بدم.
مرسی خیلی
درود شهاب جان
بله باید نام شاخصی که تو رشتهها استفاده شده رو قرار بدید
بله تو برخی از پوستهها که فایلهای جداگانهای دارند برای پیکربندی باید دستور نام برده در اون فایل هم قرار بگیره، میتونید رو تکتک فایلها اینکار رو انجام بدید که اگر تو لوکال امتحان کنید زودتر و راحتتر به نتیجه میرسید
نکته : حتما نباید نام شاخص یکی باشه میتونه شاخص فایلهای پوسته با فایلهای مربوط به تنظیمات پوسته تفاوت داشته باشه
the7mk2
the7mk2-admin
اگه به نتیجه نرسیدید در انجمن مطرح کنید تا دوستان بررسی کنند.
سلام
ممنون برای آموزش
مشکلم اینه که همه جای قالب ترجمه میشه به جز موارد مربوط به functions.php . برای نمونه من پست تایپ ساختم به نام events، رشته هاش هم در برنامه poedit میاد و ترجمش میکنم ولی نمایش نمیده. این قضیه پیرامون همه موارد مربوط به فانکشن ها هست.
چی کار می تونم بکنم؟
درود
فایل مربوطه باید مورد بررسی قرار بگیره، لطفا در انجمن مطرح کنید دوست من.
سلام بنده یه مشکلی دارم با این ترجمه
الان من اومدم یه قالب رو دانلود کردم و فایل زبانش رو که حدود هزار و خورده ای خط بود ترجمه کردم حالا که سروش کردم پنل تنظیمات قالب از کار افتاده
یعنی فقط همون گزینه اول که تنظیمات عمومی هست کار میکنه و روی بقیه قسمت ها وقتی کلیک میکنم اصلا هیچ چیزی نمایش داده نمیشه
الان من این مشکل رو چطوری باید رفع کنم
البته بگم وقتی فایل زبان رو حذف میکنم مشکل برطرف میشه
با تشکر
درود
من خودمم مشکل همانندی داشتم، تنظیمات پوسته بصورت برگبندی بود که با ترجمهی رشتهها، از کار میوفتاد، من تو هر ترجمه از یه واژهی لاتین هم استفاده کردم و مشکلم حل شد
برای نمونه ترجمه General شد G – همگانی
سلام من تمامی کارهایی که در بالا توضیح داده شده را انجام دادم ولی سایتم تغییری نکرد و کلمات انگلیسی آن فارسی نشده است. در ضمن قالب من خودش فایل زبان داشت ولی اصلا از فایل زبان نمیخواند. لطفا راهنماییم کنید خیلی تو این سایت ها چرخیدم ولی مشکلم حل نشد.
درود
توجه داشته باشید که نام فایل حتما باید fa_IR باشه، مورد بعدی این میتونه باشه که دستور فراخوانی در فانکشن پوسته قرار داده نشده باشه
میتونید تو انجمن مطرح کنید و اگه پوسته اختصاصی نیست، پیوست کنید تا دوستان مشکل رو اعلام کنند
http://forum.wp-parsi.com/
من تمام کارها را به درستی انجام دادم اما وقتی قالب را نصب می کنم سایت به هم می ریزد و صفحه اصلی سایت درست نمایش داده نمی شود.مشکل از کجاست؟
همچنین چگونه می توان فایل pot را برای قالب ایجاد کرد؟
امیر جان فایل زبان وردپرس هیچ ارتباطی با بهم خوردن پوسته و یا سایت شما نداره، این فایل تنها یا به درستی کار میکنه یا نمیکنه، یعنی یا ترجمهها چاپ میشن یا نمیشن
https://codex.wordpress.org/User:Skippy/Creating_POT_Files
من الان متن ها را در کد مورد نظر فارسی نوشته .به طور مثال در کد زیر به جای wordpress hosting متن فارسی نوشته ام.
قالب به هم نمی خورد اما ترجمه نمایش داده نمی شود.
تمام کارهای گفته شده را هم انجام دادم.
بهتره در انجمن مطرح بشه تا دوستان با دیدن فایلهای پوسته مشکل رو برطرف کنند.
http://forum.wp-parsi.com/
با سلام.
ببخشید چگونه میتونم اروری که از افزونه میاد رو ترجمه کنم؟
با تشکر
با درود
واقعا متوجه نشدم سهیل جان
با سلام
برای اضافه کردن فایل ترجمه به افزونه چه کدی استفاده میشه و توی کدام برگه از افزونه باید اضافه بشه؟
مثل :
که در header اضافه میشه
برای افزونه چجوریه؟
تشکر
با درود
به این شکل:
function mandegarweb_localization_init()
{
$path = dirname(plugin_basename( __FILE__ )) . '/lang/';
$loaded = load_plugin_textdomain( 'my-plugin', false, $path);
}
add_action( 'init', 'mandegarweb_localization_init' );
فرقی نمیکنه در کدوم فایل باشه، تنها اون فایل باید اینکلود شده باشه.
با سلام
من یک افزونه رو با برنامه poedite ترجمه کردم و در داخل پوشه زبان افزونه براگذاری کردم ولی متاسفانه زبان افزونه داخل سایتم تغییر نمیکنه میشه بگید دلیلش چی متونه باشه1؟
با درود
میتونه نامگذاری نادرست فایل باشه، فایل باید با نام شاخصی که برای افزونه در نظر گرفته شده نام گذاری بشه و حتما دستور پیوسته با بارگذاری فایل زبان در افزونه بکار گرفته شده باشه.
سلام. از آموزش خوبتون متشکرم.
دارم یه پلاگین فارسی میکنم. فولدر lanquege رو داره . اما بعضی از کلمات رو داخل poedit نمیاره. گشتم و کدشو پیدا کردم. تمامی آرایه ها رو نمیاره. آرایه ها رو چه کار باید کرد که داخل poedit بیاره؟ از روشهایی که گفتین استفاده کردم . داخل poedit هم اورد. فارسی هم کردم. اما در نمایش درون سایت هنوز انگلیسی نمایش میده. به طور مثال کلمات password و Confirm your Password .
لطفا راهنمایی کنید…
$user_fields[‘user_pass’] = array(
‘_builtin’ => 1,
‘type’ => ‘password’,
‘label’ => ‘Password’,
‘help’ => ‘Your password must be 8 characters long at least.’
);
$user_fields[‘user_pass_confirm’] = array(
‘_builtin’ => 1,
‘type’ => ‘password’,
‘label’ => ‘Confirm your Password’
);
درود بر شما
کد باید به این شکل تغییر پیدا کنه:
$user_fields['user_pass'] = array(
'_builtin' => 1,
'type' => 'password',
'label' => __('Password', 'mandegarweb'),
'help' => __('Your password must be 8 characters long at least.', 'mandegarweb'),
);
$user_fields['user_pass_confirm'] = array(
'_builtin' => 1,
'type' => 'password',
'label' => __('Confirm your Password', 'mandegarweb'),
);
ماندگار وب نام شاخص است.
اخبار جهانی ، بهترین و جامعترین سیستم جمع آوری خبر فارسی و قویترین موتور جستجوی خبر
و جستجوگر هوشمند خبر
اخبار جهان ، با ما از همه چیز باخبر شوید ، اخبار
جهانی
اخبار جهانی ، بهترین و جامعترین سیستم جمع آوری خبر فارسی و قویترین موتور جستجوی
خبر و جستجوگر هوشمند خبر
اخبار جهان ، با ما از همه چیز باخبر
شوید ، اخبار جهانی
سلام
ممنون بابت آموزش خوبتون
چطوری میشه رشته جدید به فایل po اضافه کرد منظورم اینکه با آپدیت قالب به نسخه جدید یکسری بخش های جدید اضافه میشه که در فایل زبان ترجمه شده قبلی نیست این چند مورد جدید را چطوری میشه از فایل زبان انگلیسی به زبان فارسی ترجمه شده قبلی اضافه کرد ؟
با سپاس
درود و سپاس
مسیر پوسته را به نرمافزار پوادیت دهید و از دکمهی update استفاده کنید تا مقادیر تازه به فایل زبان افزوده شوند.
سلام ممنون از آموزش خوبتون
قالب من یه قالب فارسی هست و سایتم به سه زبان فارسی، عربی ،انگلیسی هست برا چند زبانه کردن اون از افزونه WPML استفاده کردم ولی این افزونه فقط فهرست ها رو و متن ها رو ترجمه میکنه . میخوام ببینم ازین طریق میتونم یه بخشایی که ترجمه نشده رو ترجمه کنم؟؟
با درود و سپاس
خیر
برای چند زبانه کردن نیز پیشنهاد میشه از وردپرس شبکه استفاده کنید.
سلام و عرض ادب
توی فایل ترجمه po فارسی یه سورس تکست هست که کلا میخوام یا پاکش کنم یا تغییرش بدم. باید چیکار کنم ؟؟؟؟؟
با poedit کار میکنم
درود
فایل po گرفته شده از یک سورس یا یک فایل pot هست.
درود
وقت بخیر
میخواستم افزونه Woo Checkout Field Editor Pro وردپرس پارسی کنم
با افزونه لوکو همه رو ترجمه نمیکنه ، فایلش رو بررسی کردم و دیدم بیشتر کلمات شاخص ‘thwcfd’ واسش تعریف نشده /
این تصویر ببینید : (شاخص تعریف شده)
http://s9.picofile.com/file/8345320484/code1.JPG
افزونه لوکو خیلی راحت این مورد شناسی کرد
اما این تصویر ببینید : (شاخص تعریف نشده)
http://s8.picofile.com/file/8345320500/code2.JPG
این مورد چطوری بهش شاخص اضافه کنم که برنامه لوکو بشناسه ؟
درود و سپاس
همانند همان الگوهای خود افزونه.
در همین نوشته نیز گفته شده.
درود
امکانش هست برای نمونه یک خط کد زیر رو واسم بنویسید؟
چون من انجام دادم ؛ دوباره مترجم اوکو تست گرفتم شناسایی نکرد 🙁
این خط کد : میخوام Name رو ترجمه کنم
Name
درود
بفرمایید:
سلام و درود دوست عزیز
ممنون بابت این مقاله ی ارزشمند، با عرض معذرت من یک افزونه رو کامل ترجمه کردم با poedit
تنها یک بخش فارسی نمیشه، کدها رو ببینید :
{
$date_string = “”;
if ($array_data[‘nta_sunday’] == ‘checked’) {
$date_string .= ‘Sunday’;
}
if ($array_data[‘nta_monday’] == ‘checked’) {
$date_string .= ‘, Monday’;
}
if ($array_data[‘nta_tuesday’] == ‘checked’) {
$date_string .= ‘, Tuesday’;
}
if ($array_data[‘nta_wednesday’] == ‘checked’) {
$date_string .= ‘, Wednesday’;
}
if ($array_data[‘nta_thursday’] == ‘checked’) {
$date_string .= ‘, Thursday’;
}
if ($array_data[‘nta_friday’] == ‘checked’) {
$date_string .= ‘, Friday’;
}
if ($array_data[‘nta_saturday’] == ‘checked’) {
$date_string .= ‘, Saturday’;
}
$date_string = trim($date_string, ‘,’);
return $date_string;
}
من می خوام کلمات :
Sunday
, Monday
, Tuesday
, Tuesday
, Wednesday
, Thursday
, Friday
رو به همین ترتیبی که هست ترجمه کنم توو poedit ممنون میشم راهنمایی بفرمایید که از چه استایلی باید استفاده کنم
با تشکر از زحمات شما
درود
خواهشمندم در انجمن بیان کنید:
http://forum.wp-parsi.com/
سلام .
من چندروزیه که یک پلاگین نوشتم و الان هم فایل های زبان اش رو درست کردم .
ولی هر کدی برای فراخوانی ترجمه تو فایل اصلی افزونه قرار میدم ، افزونه در پیشخوان وردپرس ترجمه نمیسه.
کدی که استفاده کردم :
ایا مشکل از کد هست؟
درود.
شوربختانه کد شما نمایش داده نمیشه.
در انجمن بیان کنید:
http://forum.wp-parsi.com/
همچنین میتوانید افزونه زیر را دریافت و بررسی کنید:
https://wordpress.org/plugins/replace-default-words/
سلام یک قالب با افزونه ترجمه شده ولی اعداد آن به اعداد لاتین تغییر نمیکند یعنی وقتی به زبان انگلیسی کلیک میشود اعداد همونطور فارسی میماند .
خواستم بدونم باید داخل هاست کد وارد کرد؟
درود.
ممکن است بهخاطر فونتی باشد که بکار گرفتهاید، یعنی اعداد را پارسی نمایش میدهد.
سلام
خسته نباشید
یک افزونه را ترجمه کردم ولی چند کلمه هست مثل روز های هفته که فارسی نمی شوند در صورتی که در بعضی از قسمت های پلاگین به فارسی تغییر کرده ولی در بعضی از جاهای دیگه خیر.
از poedit استفاده می کنم.
ممنون میشم راهنمایی کنین
درود آقای حسینی.
باید رشتهها در سورس مورد بررسی قرار بگیرند، شاید اصلا این واژهها بصورت تکست معمولی در سورس آمده باشند که در اینصورت پوادیت آنها را شناسایی نمیکند.
بله بصورت تکست هست وباید تک به تک ترجمه کرد. ولی اگر بخوایم مثل بقیه باشه و به poedi اضافه بشه باید چکار کرد؟
خب باید طبق همین آموزش پیش برید.
با سلام
من به مشکل ترجمه قالب برخورده ام.
تو قسمت تنظیمات تم مثلا>>بخش site Loader ,وقتی میخواهم به فارسی ترجمه کنم از تابع __ استفاده می کنم و به فارسی ترجمه می شود.اما وقتی روی site loader که کلیک میکنم تنظیمات آن ظاهر نمی شود.زمانی که ترجمه فارسی آن را برمیدارم و روی آن کلیک میکنم،بخش تنظیماتش ظاهر می شود.آیا تابع ترجمه من اشتباه است ؟ چه تابع ای برای این کار استفاده می شود؟
من فکر میکنم چون یه حالت پیوند یا لینکی که به هم دارند باید تابع دیگه ای استفاده بشه ! لطفا راهنمایی کنید.
با درود.
خیر مشکلی در ترجمه نیست، مشکل از ساپورت نکردن کاراکترهای فارسی در برخی از کدهای js است.
برای اطمینان ترجمه را یک واژه لاتین قرار دهید، برای نمونه mandegarweb حال اگر محتویات نمایش داده شد، مشکل از فایل زبان نیست.
سلام
من واژه لاتین را تغییر دادم و محتویاتش با توجه به توضیحی که دادین نمایش داده شد.
من واژه را به زبان چینی تغییر دادم و محتویاتش مانند زبان فارسی نمایش داده نشد.فکر میکنم کلا، زبان انگلیسی ساپورت میشه
چه طوری میتونم کارکتر های فارسی در در کد های js شناسایی کنم تا مشکل ترجمه قالب به زبان فارسی را نداشته باشه .
از لطف و توجه شما سپاسگزارم
درود.
باید در انجمنهای پشتیبانی بیان کنید این مشکل را تا دوستان بررسی کنند:
https://wp-parsi.com/support/
بسم الله الرحمن الرحیم
سلام علیکم
عالی بود ممنون
با سلام
من به مشكلي برخوردم من يك قالب فارسي خريدم ولي داخلش برخي موارد ترجمه فارسي نشده و جالب اينجاست كه داخل فايل زبان قالب در روت اصلي هم اون جملات نيست.
مثلا زماني كه كاربر جديد در سايت ثبت نام مي كنه پيام ميده created an account for you ، حالا چطور مي تونم به فارسي برگردونمش ؟
پيشاپيش ممنونم از راهنمايي شما
با درود.
افزونه لوکو را نصب کنید:
https://wordpress.org/plugins/loco-translate/
با سلام و احترام
جالبه، بازم مثل همیشه از سرچ یک موضوع فنی و تخصصی وردپرس، جواب دقیق و کاربردی و بهینه ختم میشه به پست های آقای خلجی مهر.
زنده باشی آدم کاربلد.
با درود.
شما لطف دارید آقای محمد.
خوشحال میشویم کاری از دستمان بر بیاید و برای دوستان انجام دهیم.