Перейти до вмісту

Додаток 3: Переклад XOOPS на місцеву мову

XOOPS 2.7.0 постачається лише з англомовними файлами. Переклади іншими мовами підтримується спільнотою та розповсюджується через GitHub і різні місцеві сайти підтримки XOOPS.

Де знайти існуючі переклади

Section titled “Де знайти існуючі переклади”
  • GitHub — переклади спільноти все частіше публікуються як окремі репозиторії під організацією XOOPS і в облікових записах окремих авторів. Шукайте xoops-language-<your-language> у GitHub або перегляньте поточні пакети в організації XOOPS.
  • Місцеві сайти підтримки XOOPS — багато регіональних спільнот XOOPS публікують переклади на своїх власних сайтах. Відвідайте https://xoops.org і перейдіть за посиланнями на місцеві спільноти.
  • Переклади модулів — переклади для окремих модулів спільноти зазвичай знаходяться поруч із самим модулем в організації GitHub (25x у назві є історичним; модулі підтримуються як для XOOPS 2.5.x, так і для 2.7.x).

Якщо переклад для вашої мови вже існує, перемістіть каталоги мов у свою інсталяцію XOOPS (дивіться «Як інсталювати переклад» нижче).

Що потрібно перекласти

Section titled “Що потрібно перекласти”

XOOPS 2.7.0 зберігає мовні файли поруч із кодом, який їх використовує. Повний переклад охоплює всі ці місця:

  • Corehtdocs/language/english/ — загальносайтові константи, які використовуються кожною сторінкою (вхід, типові помилки, дати, шаблони листів тощо).
  • Installerhtdocs/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. Повторіть для інсталятора, системного модуля та будь-яких додаткових модулів, які вам потрібні.

Як встановити переклад

Section titled “Як встановити переклад”

Якщо ви отримали готовий переклад у вигляді дерева каталогів:

  1. Скопіюйте кожен каталог <language>/ у відповідний батьківський каталог language/english/ у вашій установці XOOPS. Наприклад, скопіюйте language/spanish/ у htdocs/language/, install/language/spanish/ у htdocs/install/language/ тощо.
  2. Переконайтеся, що право власності на файл і дозволи читаються веб-сервером.
  3. Або виберіть нову мову під час інсталяції (майстер сканує htdocs/language/ на наявність доступних мов) або на існуючому сайті змініть мову в Адміністратор → Система → Параметри → Загальні параметри.

Надсилання вашого перекладу

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, і окремі теми підбирають її автоматично.