وب‌سایت جهانی ایران‌خودرو

گروه صنعتی ایران‌خودرو · خودروساز

نقش
مهندس ارشد فرانت‌اند
دوره
۱۴۰۳
نوع
سازمانی
  • Next.js
  • React
  • TypeScript
  • Leaflet.js
  • i18n
  • SCSS
  • SEO

وب‌سایت بین‌المللی ایران‌خودرو برای مخاطبان فارسی، انگلیسی، عربی و روسی. کاتالوگ محصولات، بروشورهای قابل دانلود، محتوای خبری، فرایند درخواست قطعه‌ی یدکی و نقشه‌ی نمایندگی‌ها در سراسر جهان را در خود دارد.

چالش

سایت عمومی چهارزبانه‌ی ایران‌خودرو با Next.js - صفحه‌های محصول، دانلود کاتالوگ، بلاگ، درخواست قطعه‌ی یدکی و نقشه‌ی جهانی نمایندگی‌ها بر پایه‌ی Leaflet.

چهار زبان در دو جهت نوشتاری مسئله‌ی ترجمه نیست؛ مسئله‌ی چیدمان است. فارسی و عربی راست‌به‌چپ‌اند، انگلیسی و روسی چپ‌به‌راست، و همان کامپوننت‌ها باید بدون دو نسخه شدن stylesheet در هر دو جهت کار کنند. جدا از جهت، خود محتوا هم متقارن نیست - خط تولیدی که در یک بازار فروخته می‌شود ممکن است در بازار دیگر وجود نداشته باشد؛ پس «سایت را ترجمه کن» هرگز مدل درستی نبود. یک نقشه‌ی نمایندگی با پوشش جهانی و کاتالوگی از فایل‌های سنگین PDF هم که اضافه شود، بودجه‌ی کارایی خیلی زود تنگ می‌شود.

کاری که کردم

  • چیدمان را با ویژگی‌های منطقی CSS ساختم (inline-start و inline-end به‌جای left و right) تا یک stylesheet واحد هر دو جهت نوشتاری را پوشش دهد.
  • محتوا را برای هر زبان جداگانه مدل کردم، نه به شکل ترجمه‌ی یک زبان مرجع؛ تا هر بازار بتواند مجموعه‌ی محصولات متفاوتی داشته باشد، بی‌آنکه با CMS بجنگد.
  • صفحه‌های محصول و خبر را با Next.js سمت سرور رندر کردم تا قابل خزش باشند و metadata مخصوص هر زبان داشته باشند - این سایت یک سطح اصلی SEO است، نه اپلیکیشنی پشت صفحه‌ی ورود.
  • نقشه‌ی Leaflet را به‌صورت تنبل و فقط در routeهایی که از آن استفاده می‌کنند بارگذاری کردم تا کتابخانه‌ی نقشه برای بیشتر بازدیدکنندگان در باندل نباشد.
  • فایل‌های PDF کاتالوگ را به شکل دانلود مستقیم و ایستا نگه داشتم، نه اینکه از مسیر اپلیکیشن عبور کنند.

ویژگی‌های کلیدی

  • چهار زبان - فارسی، انگلیسی، عربی و روسی - در هر دو جهت راست‌به‌چپ و چپ‌به‌راست.
  • نقشه‌ی نمایندگی‌ها با Leaflet.js و پوشش جهانی.
  • صفحه‌های محصول با کاتالوگ قابل دانلود و فرایند درخواست قطعه‌ی یدکی.
  • metadata سئو برای هر زبان و محتوای رندرشده در سمت سرور.

نتیجه

یک کدبیس چهار بازار با محتوای واقعاً متفاوت را سرویس می‌دهد، و افزودن زبان پنجم یک کار محتوایی است، نه یک کار مهندسی.

پروژه‌های دیگر