Repository navigation
DashWoo 1.5.0
DashWoo 1.5.0 — کل پروژه انگلیسی شد، فارسی بهصورت ترجمه میآید
این نسخه همان چیزی است که خواستید: تمام پروژه (افزونه، پوستهٔ مدیریت، ابزارکها،
تستها، ابزارها و مستندات) بهزبان انگلیسی نوشته شده و زبان فارسی بهصورت بستهٔ
ترجمهٔ کامل همراه آن میآید. یعنی سایت انگلیسی، DashWoo را انگلیسی میبیند و سایت فارسی،
همان رابط را کامل فارسی میبیند — بدون اینکه هیچ جملهای در کد به فارسی نوشته شده باشد.
| قلم | مقدار |
|---|---|
| رشتههای قابلترجمه | ۱۰۳۵ رشته در languages/dashwoo.pot |
| بستهٔ فارسی | languages/dashwoo-fa_IR.po + .mo — ۱۰۳۵/۱۰۳۵ ترجمهشده، صفر جاافتاده |
| بستهٔ جاوااسکریپت | languages/dashwoo-fa_IR-<md5>.json (برای wp.i18n در اسکریپت مدیریت) |
| زبان پیشفرض | «پیروی از زبان سایت» (site) — بهعلاوهٔ گزینههای «انگلیسی» و «فارسی» |
| تستها | ۴۷۴ آزمون / ۷۲۸۵ assertion — همه سبز |
۱) تمام رشتهها انگلیسی شدند
- ۴۵ فایل، ۹۸۶ مورد و ۸۲۷ رشتهٔ یکتا که قبلاً در کد به فارسی نوشته شده بودند، به انگلیسی
برگردانده و داخل__( '…', 'dashwoo' )قرار گرفتند. - ۲۰۸ رشتهٔ دیگری که از قبل انگلیسی بودند ولی قابل ترجمه نبودند (پیامهای گزارش سازگاری،
خطاهای REST، برچسب قابلیتهای میزبان، برچسب گزینهها و…) هم پیدا و بستهبندی شدند؛
ابزارtools/i18n/wrap-literals.pyاین کار را انجام میدهد. - راهنماها و مستندات (
README.md،readme.txt،docs/ARCHITECTURE.md،docs/TESTING.md،
docs/TEST-MATRIX.md،docs/RELEASE.md) کامل انگلیسیاند. تنها سندهای فارسی باقیمانده،
همین گزارشهای فارسی تحویلی هستند. - صفر خط فارسی در درخت سورس باقی مانده است (تنها استثنا: پوشهٔ
languages/که ترجمهٔ
فارسی در آن زندگی میکند).
۲) لایهٔ زبان (تازه)
کلاس DashWoo\I18n\Language تنها جایی است که زبان را تعیین میکند:
- تنظیمات → سیستم → عمومی → «زبان پلتفرم» با سه گزینه:
- پیروی از زبان سایت (پیشفرض) — سایت فارسی، DashWoo فارسی؛
- انگلیسی — DashWoo انگلیسی میماند حتی روی سایت فارسی؛
- فارسی — DashWoo فارسی میشود حتی روی سایت انگلیسی.
- فیلترها فقط روی دامنهٔ متنی
dashwooاثر دارند؛ ووکامرس و پوستهٔ سایت دستنخورده میمانند. - بستهٔ ترجمه در
initبارگذاری میشود (روش استاندارد وردپرس + بارگذاری مستقیم وقتی زبان
انتخابی با زبان سایت فرق دارد)، و بستهٔ.jsonهم با
wp_set_script_translations()به اسکریپت مدیریت داده میشود تاwp.i18nهم فارسی شود. - RTL از زبان پیروی میکند: با فارسی، کامپایلر توکنها
--dw-direction: rtlرا مینویسد و
دیزاینسیستم با خصوصیتهای منطقی (margin-inline-startو…) چیده میشود.
۳) ابزار و دروازهٔ ساخت
tools/i18n/extract.py— پیدا کردن رشتهها،tools/i18n/apply.py— مهاجرت رشتهها،
tools/i18n/wrap-literals.py— بستهبندی رشتههای انگلیسیِ قابلترجمهنشده،
tools/i18n/build-catalogue.py— ساخت POT، همگامسازی PO، کامپایل MO و نوشتن JSON.build-catalogue.py --strictبخشی از دروازهٔ ریلیز است: اگر یک رشته ترجمه نداشته باشد،
ساخت متوقف میشود.- تستهای تازه:
tests/unit/I18nCatalogueTest.php(نبودِ ترجمه، رشتهٔ بیصاحب، گمشدن
%s/%d، تطابق MO با PO، جای درست JSON، انگلیسیبودن درخت سورس) و
tests/integration/LanguageIntegrationTest.php(زبان سایت، زبان انتخابی، خواندن واقعی
بسته از فایل، رندر فارسی/انگلیسی حساب کاربری و گزارش سازگاری، RTL و--dw-direction).
۴) ارتقا امن است
سایت فارسیای که روی ۱.۴.۰ است، بعد از ارتقا همان فارسی را میبیند: مقدار «زبان پلتفرم»
در تنظیمات حفظ میشود و اگر زبان سایت فارسی باشد، گزینهٔ پیشفرض «پیروی از زبان سایت» هم
فارسی میدهد. هیچ دادهای پاک نمیشود و هیچ چیزی از تنظیمات از دست نمیرود.
۵) اعداد این نسخه
| قلم | مقدار |
|---|---|
| بستهٔ نصبشدنی | dashwoo-1.5.0.zip — ۵۴۷٬۸۸۳ بایت |
| مانیفست | ۱۰۷ فایل هششده |
| تستها | ۴۷۴ آزمون / ۷۲۸۵ assertion (سبز) |
| آزمون مرورگر (node + jsdom) | ۳۵ بررسی (PASS) |
| لینت | ۲۳۲ بررسی خودکار / ۰ اشکال |
| تأیید بسته | bin/verify-build.php — ۲۳ بررسی / ۰ خطا |
نصب: پیشخوان وردپرس → افزونهها → افزودن → بارگذاری افزونه → dashwoo-1.5.0.zip.
نیازمندیها: PHP 8.0+، وردپرس 6.4+ (ووکامرس و المنتور اختیاری).