ساخت سایتی که واقعاً به دو زبان صحبت میکند
بیشتر سایتهای «چندزبانه» در واقع یک زبان اصلی دارند که یک افزونه ترجمه رویش چسبانده شده. نسخه انگلیسی سایتِ واقعی است و نسخه فارسی یک فکرِ بعدی است که هر بار توسعهدهندهای ویژگی جدیدی اضافه میکند و یادش میرود فیلد زبان دوم را هم پر کند، از کار میافتد. فنپینو CMS برعکسِ این الگو ساخته شده: هر مدل محتوایی — مقالات، محصولات، خدمات، پروژهها — از سطح schema فیلدهای en و fa را کنار هم دارد، پس اصلاً زبان «اصلی»ای وجود ندارد که زبان دوم فراموش شود.
چرا چسباندن فارسی به یک CMS انگلیسی جواب نمیدهد
فارسی فقط یک رشتهٔ ترجمهشده نیست — راستبهچپ است، تایپوگرافی خودش را میخواهد، و معمولاً منطق قیمتگذاری و ارز خودش را هم لازم دارد. افزونههای i18n روی وردپرس یا یک CMS هدلس که از روز اول برای RTL طراحی نشده، معمولاً مشکل متن را حل میکند و بیسروصدا مشکل چیدمان و قیمتگذاری را نادیده میگیرد؛ همانجایی که تیکتهای پشتیبانی واقعی از آنجا میآیند.
فنپینو CMS چطور این را حل میکند
- سوییچ بومی RTL/LTR — جهتِ چیدمان با زبان عوض میشود، نه فقط تراز متن.
- قیمتگذاری دوارزی — دلار و تومان هر دو فیلدهای درجهیک روی هر محصولاند و بر اساس زبان بازدیدکننده بهطور خودکار نمایش داده میشوند.
- یک پنل ادمین، دو زبان — ویراستاران هر دو فیلد زبان را در یک فرم واحد پر میکنند، پس چیزی نیمهترجمهشده منتشر نمیشود.
روی یک استکِ ساختهشده برای توسعه، نه فقط استفاده
بکاند FastAPI (پایتون) است؛ فرانتاند React 19 با پوشش کامل TypeScript. احراز هویت هم JWT و هم Google OAuth2 را پشتیبانی میکند، همراه با کنترل دسترسی مبتنی بر نقش برای تیمهایی که بیش از یک ادمین لازم دارند. هیچکدام از اینها عجیب نیست — عمداً یک استکِ ساده و مستندشده است تا تیم توسعهای که کد را تحویل میگیرد از صفر شروع نکند.
این محصول برای چه کسی است
تیمهایی که هم مخاطب فارسیزبان و هم مخاطب بینالمللی دارند — بدون نگهداشتن دو codebase جدا، دو پنل ادمین جدا، یا دو مدل ذهنی جدا از «چه چیزی کجا منتشر شده».