رفتن به محتوا

پیوست 3: ترجمه XOOPS به یک زبان محلی

XOOPS 2.7.0 فقط با فایل های زبان انگلیسی ارسال می شود. ترجمه ها به زبان های دیگر توسط انجمن نگهداری می شود و از طریق GitHub و سایت های مختلف پشتیبانی محلی XOOPS توزیع می شود.

از کجا می توان ترجمه های موجود را پیدا کرد

Section titled “از کجا می توان ترجمه های موجود را پیدا کرد”
  • GitHub - ترجمه های انجمن به طور فزاینده ای به عنوان مخازن جداگانه تحت سازمان XOOPS و در حساب های مشارکت کنندگان منفرد منتشر می شوند. GitHub را برای xoops-language-<your-language> جستجو کنید یا سازمان XOOPS را برای بسته های فعلی مرور کنید.
  • سایت های پشتیبانی محلی XOOPS — بسیاری از جوامع منطقه ای XOOPS ترجمه ها را در سایت های خود منتشر می کنند. از https://xoops.org بازدید کنید و پیوندهای جوامع محلی را دنبال کنید.
  • ترجمه‌های ماژول - ترجمه‌ها برای ماژول‌های جامعه فردی معمولاً در کنار خود ماژول در سازمان XoopsModules25x GitHub وجود دارد (25x در نام تاریخی است؛ ماژول‌ها برای هر دو XOOPS 2.5.x و 2.7.x نگهداری می‌شوند).

اگر ترجمه ای برای زبان شما از قبل وجود دارد، فهرست های زبان را در نصب XOOPS خود رها کنید (به «نحوه نصب ترجمه» در زیر مراجعه کنید).

XOOPS 2.7.0 فایل های زبان را در کنار کدی که آنها را مصرف می کند نگه می دارد. ترجمه کامل همه این مکان ها را پوشش می دهد:

  • Core - htdocs/language/english/ - ثابت های سراسر سایت که توسط هر صفحه استفاده می شود (ورود به سیستم، خطاهای رایج، تاریخ ها، الگوهای ایمیل و غیره).
  • نصب - htdocs/install/language/english/ - رشته هایی که توسط جادوگر نصب نشان داده شده است. اگر می‌خواهید یک تجربه نصب بومی‌سازی شده داشته باشید، قبل از اجرای نصب‌کننده، این موارد را ترجمه کنید.
  • ** ماژول سیستم ** - htdocs/modules/system/language/english/ - تا حد زیادی بزرگترین مجموعه. کل کنترل پنل مدیریت را پوشش می دهد.
  • **ماژول های همراه ** — هر یک از htdocs/modules/pm/language/english/، htdocs/modules/profile/language/english/، htdocs/modules/protector/language/english/، و htdocs/modules/debugbar/language/english/.
  • موضوعات - تعداد انگشت شماری از تم ها فایل های زبان خود را ارسال می کنند. اگر htdocs/themes/<theme>/language/ وجود دارد را بررسی کنید.

ترجمه “فقط هسته” حداقل واحد مفید است و با دو گلوله اول بالا مطابقت دارد.

  1. پوشه english/ را در کنار آن کپی کنید و نام کپی را به زبان خود تغییر دهید. نام دایرکتوری باید نام کوچک انگلیسی زبان باشد (spanish، german، french، japanese، arabic، و غیره).
htdocs/language/english/ → htdocs/language/spanish/
  1. هر فایل .php را در دایرکتوری جدید باز کنید و مقادیر رشته را داخل فراخوانی های define() ترجمه کنید. نام‌های ثابت را نباید تغییر دهید - آنها از کد PHP در سراسر هسته ارجاع می‌شوند.
// Before:
define('_CM_COMDELETED', 'Comment(s) deleted.');
define('_CM_COMDELETENG', 'Could not delete comment.');
define('_CM_DELETESELECT', 'Delete all its child comments?');
// After (Spanish):
define('_CM_COMDELETED', 'Comentario(s) eliminado(s).');
define('_CM_COMDELETENG', 'No se pudo eliminar el comentario.');
define('_CM_DELETESELECT', '¿Eliminar también todos sus comentarios secundarios?');
  1. هر فایل را به‌عنوان UTF-8 بدون BOM ذخیره کنید. XOOPS 2.7.0 از utf8mb4 سرتاسر (پایگاه داده، جلسات، خروجی) استفاده می‌کند و فایل‌های دارای علامت ترتیب بایت را رد می‌کند. در Notepad++ این گزینه “UTF-8” است، نه “UTF-8-BOM”. در VS Code پیش فرض است. فقط رمزگذاری را در نوار وضعیت تأیید کنید.

  2. فراداده زبان و مجموعه نویسه را در بالای هر فایل به‌روزرسانی کنید تا با زبان شما مطابقت داشته باشد:

// _LANGCODE: es
// _CHARSET : UTF-8
// Translator: Your Name

_LANGCODE باید کد ISO 639-1 برای زبان شما باشد. _CHARSET همیشه UTF-8 در XOOPS 2.7.0 است — دیگر یک نوع ISO-8859-1 وجود ندارد.

  1. این کار را برای نصب کننده، ماژول System و هر ماژول همراهی که نیاز دارید تکرار کنید.

اگر ترجمه کاملی را به عنوان درخت فهرست به دست آوردید:1. هر فهرست <language>/ را در والد language/english/ در نصب XOOPS خود کپی کنید. برای مثال، language/spanish/ را در htdocs/language/، install/language/spanish/ را در htdocs/install/language/ و غیره کپی کنید. 2. مطمئن شوید که مالکیت فایل و مجوزها توسط وب سرور قابل خواندن هستند. 3. زبان جدید را در زمان نصب انتخاب کنید (جادوگر htdocs/language/ را برای زبان های موجود اسکن می کند) یا در یک سایت موجود، زبان را در Admin → System → Preferences → General Settings تغییر دهید.

ترجمه خود را به اشتراک بگذارید

Section titled “ترجمه خود را به اشتراک بگذارید”

لطفاً ترجمه خود را به انجمن بازگردانید.

  1. یک مخزن GitHub ایجاد کنید (یا یک مخزن زبان موجود را در صورت وجود برای زبان شما جدا کنید).
  2. از یک نام واضح مانند xoops-language-<language-code> (به عنوان مثال xoops-language-es، xoops-language-pt-br) استفاده کنید.
  3. ساختار دایرکتوری XOOPS را در داخل مخزن خود بازتاب دهید تا فایل ها با جایی که کپی می شوند ردیف شوند:
xoops-language-es/
├── language/spanish/(files).php
├── install/language/spanish/(files).php
└── modules/system/language/spanish/(files).php
  1. شامل یک مستندسازی README.md:
    • نام زبان و کد ISO
    • سازگاری نسخه XOOPS (به عنوان مثال XOOPS 2.7.0+)
    • مترجم و اعتبار
    • آیا ترجمه فقط هسته ای است یا ماژول های همراه را پوشش می دهد
  2. یک درخواست کشش را علیه مخزن مربوطه module/core در GitHub باز کنید یا یک اعلامیه در https://xoops.org ارسال کنید تا جامعه بتواند آن را پیدا کند.

توجه

اگر زبان شما برای قالب‌بندی تاریخ یا تقویم به تغییراتی در هسته نیاز دارد، آن تغییرات را نیز در بسته قرار دهید. زبان‌هایی با اسکریپت‌های راست به چپ (عربی، عبری، فارسی، اردو) در XOOPS 2.7.0 کاملاً کار می‌کنند — پشتیبانی RTL در این نسخه اضافه شده است و تم‌های جداگانه آن را به‌طور خودکار انتخاب می‌کنند.