خب …. والا نمیدونم الان اینجا باید چی بنویسم :)) بگذریم بریم سر اصل مطلب :
همونطور که میدونین وقتی میخایم یه سایت مثلن وردپرسی رو ترجمه کنیم از فایل زبان po استفاده میکنیم که هر فایل po یه فایل متناظر mo هم داره. فایل po یه فایل اسکی هست که بازش میکنیم و ویرایشش میکنیم خلاصه قابل خوندن و تغییر دادن هست و فایل mo هم فایل متناظر po هست یه فایل باینری که برای ماشین قابل خوندنه و ازکامپایل فایل po بدست میاد. خب وقتی شما یه فایل po ایجاد میکنین و یا بازش میکنین برای ویرایش، باید حتمن mo رو هم براش ایجاد کنین و یا دوباره بسازینش .
راههای تبدیل فایل po به mo
1- سایتهای زیادی هستند که این کار رو انجام میدن یعنی شما po رو میدی و بهتون mo رو میده (در حقیقت فایل po روکامپایل میکنه) مثل این Convert .po to .mo
2- و البته ادیتور هایی هم هستند مثل poEdit که وقتی فایل po رو باهاش باز میکنی و ترجمهات رو انجام میدی و … وقتی ذخیره کنی برات فایل mo رو هم میسازه.
3- ولی جدای اینها دستور لینوکسی زیر هم همین کار رو انجام میده : البته باید تو مسیری باشین که فایل po رو اونجا قرار دادیدن:
msgfmt fileName.po -o fileName.mo
که msgfmt فایل po رو کامپایل میکنه و اسمش رو میذاره fileName.mo و تو همون مسیر قرار میده. و البته به عکس هم میشه فایل mo رو داشته باشین و بخواین po رو بسازین ازش :
msgunfmt fileName.mo -o fileName.po
مثال :
شما یه سایتی دارین و میخواین بعضی قسمتهای قالبش رو ترجمه کنین . یه همچین مسیری رو احتمالا دارین /themes/nameOfTemplate/languages فرض کنیم یه فایلی داره به اسم : theme.po , theme.mo . خب وقتی شما فایل theme.po رو ویرایش میکنین و آپش میکنین (یا همون بالا تغییراتتون رو میدین) اگه سایت رو رفرش کنین تغییری نمیبینین .چرا ؟ چون فایل theme.mo تغییر نکرده . خب یکی از اون سه روش بالا رو انتخاب کنید و فایل theme.mo رو دوباره بسازین و آپش کنید و تعییرات را ببینید .
در حقیقت با این دستور لینوکسی تازه آشنا شدم و گفتم شاید یه نفر دیگه هم بخونه و … از اینجور حرفا دیگه :))