x18n: ابزاری برای چک و مرتب نگه داشتن فایلهای ترجمه
خلاصهٔ کاملتر
x18n یه ابزار برای مدیریت فایلهای i18n هست (یعنی فایلهایی که متنهای هر زبون برنامه توشون نگه داشته میشه). این ابزار هم فایلهای locale و هم فراخوانیهای ترجمه تو کد، مثل $t('app.title')، رو میخونه. بعد کلیدهایی که تو کد صدا زده شدن ولی تعریف نشدن، کلیدهایی که دیگه هیچجا استفاده نمیشن و کلیدهای خراب رو گزارش میده. مثلاً تو نمونهٔ صفحهٔ معرفیش، یه غلط تایپی مثل app.titel تو فایل Vue بهعنوان خطای missing-key با شمارهٔ خط و ستون نشون داده میشه.
به گفتهٔ سازندهها، x18n بدون کانفیگ کار میکنه: کافیه تو ریشهٔ پروژه اجراش کنین تا کتابخونهٔ i18n رو از روی dependencyها تشخیص بده و فایلهای locale رو پیدا کنه. خروجیش درصد کامل بودن هر زبون رو هم نشون میده، مثلاً اینکه آلمانی ۱۳۲ از ۱۳۷ کلید رو داره. دستورهای اصلیش check، keys، get، usages، set، rename، fill و ui هستن. مثلاً rename یه کلید رو هم تو همهٔ فایلهای زبون و هم تو کد عوض میکنه و با --dry-run میشه قبلش تغییرات رو دید.
ایدهٔ اصلی اینه که یه موتور واحد پشت همهٔ محیطها باشه، پس CLI تو CI، افزونهٔ ادیتور و رابط وب همیشه یه نتیجه رو گزارش میدن. x18n check مثل tsc --noEmit کار میکنه و همهٔ دستورها خروجی JSON هم دارن. افزونهٔ VS Code بهجای کلید، متن ترجمه رو نشون میده و go to definition و rename رو بین کد و فایلهای زبون پشتیبانی میکنه. رابط وب همهٔ کلیدها رو تو یه جدول نشون میده و میتونه یه گزارش استاتیک فقطخواندنی منتشر کنه.
برای ایجنتهای هوش مصنوعی هم پرامپتهای ترجمه، دستورهای نوشتن امن و ابزارهای MCP داره، یعنی یه ایجنت میتونه پیامها رو ترجمه، چک و تمیز کنه. x18n برای هر فریمورکی که i18n-ally پشتیبانی میکرد یه preset داره، از vue-i18n و i18next و next-intl گرفته تا Laravel و Rails و Flutter. میشه با یه فایل YAML یا پلاگین TypeScript کتابخونه یا فرمت جدید اضافه کرد، و دستور x18n migrate i18n-ally تنظیمات قبلی i18n-ally رو به کانفیگ x18n تبدیل میکنه.
نکات کلیدی:
- x18n کلیدهای تعریفنشده (missing-key)، بیاستفاده (unused-key) و خراب رو با شمارهٔ خط و ستون گزارش میده.
- بدون کانفیگ راه میافته و کتابخونهٔ i18n رو از dependencyهای پروژه تشخیص میده.
- دستورهاش شامل check، get، rename، fill و ui هستن و همه خروجی JSON دارن.
- CLI، افزونهٔ VS Code، رابط وب و ابزارهای MCP برای ایجنتها همه از یه موتور و یه کانفیگ استفاده میکنن.
- برای کاربرهای i18n-ally دستور x18n migrate i18n-ally تنظیمات رو منتقل میکنه.




