وب‌سرویس مجید

پروژه translation-contracts

symfony/translation-contracts

این پکیج شامل مجموعه‌ای از **قراردادها (interfaces)** است که برای سیستم ترجمه در فریم‌ورک Symfony طراحی شده‌اند.

هدف اصلی آن، استخراج **ابسترکشن‌های ترجمه** از کامپوننت‌های اصلی Symfony برای استفاده مستقل و سبک‌تر است.

کاربرد:

این پکیج به توسعه‌دهندگان اجازه می‌دهد تا بدون نیاز به نصب تمام کامپوننت‌های سنگین Symfony، از **سیستم ترجمه** با استفاده از interfaceهای استاندارد بهره ببرند.

همچنین برای کتابخانه‌های سوم شخص که نیاز به پشتیبانی چندزبانه دارند، یک استاندارد مشترک فراهم می‌کند.

در چه شرایطی بهتره استفاده شود؟

وقتی می‌خواهی یک پکیج PHP بنویسی که قابلیت چندزبانه شدن داشته باشه، اما نمی‌خواهی وابستگی سنگین به کل فریم‌ورک Symfony بگیری.

همچنین اگر از کامپوننت Translation در Symfony استفاده می‌کنی، این قراردادها به تو کمک می‌کنند تا کدهایت **قابل تست‌تر** و **انعطاف‌پذیرتر** باشند.

چند مثال از موارد استفاده

نوشتن یک کتابخانه اشتراکی که پیام‌های خطا را به زبان کاربر نمایش می‌دهد.

ساخت یک ماژول مدیریت محتوا (CMS) که پشتیبانی از چند زبان را نیاز دارد.

استفاده در microservices برای ترجمه پیام‌های داخلی بدون افزودن وابستگی‌های سنگین.

  • ##translation
  • ##php
  • ##symfony
  • ##internationalization
  • ##contracts
  • ##interfaces
  • ##loose
  • ##psr
  • ##multilingual
  • ##library