Додаток 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 зберігає мовні файли поруч із кодом, який їх використовує. Повний переклад охоплює всі ці місця:
- Core —
htdocs/language/english/— загальносайтові константи, які використовуються кожною сторінкою (вхід, типові помилки, дати, шаблони листів тощо). - Installer —
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/, якщо він існує.
«Лише основний» переклад є мінімально корисною одиницею та відповідає першим двом пунктам вище.
Як перекладати
Section titled “Як перекладати”- Скопіюйте каталог
english/поруч із ним і перейменуйте копію на свою мову. Назва каталогу має бути англійською назвою мови в нижньому регістрі (spanish,german,french,japanese,arabicтощо).
htdocs/language/english/ → htdocs/language/spanish/- Відкрийте кожен файл
.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?');-
Зберігайте кожен файл як UTF-8 без BOM. XOOPS 2.7.0 використовує
utf8mb4наскрізний (база даних, сеанси, вихід) і відхиляє файли з позначкою порядку байтів. У Notepad++ це параметр “UTF-8”, не “UTF-8-BOM”. У VS Code це за замовчуванням; просто підтвердьте кодування в рядку стану. -
Оновіть метадані мови та кодування у верхній частині кожного файлу відповідно до вашої мови:
// _LANGCODE: es // _CHARSET : UTF-8 // Translator: Your Name_LANGCODE має бути кодом ISO 639-1 для вашої мови. _CHARSET завжди є UTF-8 у XOOPS 2.7.0 — більше немає варіанту ISO-8859-1.
- Повторіть для інсталятора, системного модуля та будь-яких додаткових модулів, які вам потрібні.
Як встановити переклад
Section titled “Як встановити переклад”Якщо ви отримали готовий переклад у вигляді дерева каталогів:
- Скопіюйте кожен каталог
<language>/у відповідний батьківський каталогlanguage/english/у вашій установці XOOPS. Наприклад, скопіюйтеlanguage/spanish/уhtdocs/language/,install/language/spanish/уhtdocs/install/language/тощо. - Переконайтеся, що право власності на файл і дозволи читаються веб-сервером.
- Або виберіть нову мову під час інсталяції (майстер сканує
htdocs/language/на наявність доступних мов) або на існуючому сайті змініть мову в Адміністратор → Система → Параметри → Загальні параметри.
Надсилання вашого перекладу
Section titled “Надсилання вашого перекладу”Будь ласка, поверніть свій переклад до спільноти.
- Створіть репозиторій GitHub (або розділіть існуюче сховище мови, якщо воно існує для вашої мови).
- Використовуйте чітку назву, наприклад
xoops-language-<language-code>(наприклад,xoops-language-es,xoops-language-pt-br). - Віддзеркаліть структуру каталогів XOOPS у своєму репозиторії, щоб файли відповідали місцям їх копіювання:
xoops-language-es/ ├── language/spanish/(files).php ├── install/language/spanish/(files).php └── modules/system/language/spanish/(files).php- Додайте документацію
README.md:- Назва мови та код ISO
- Сумісність версії XOOPS (наприклад,
XOOPS 2.7.0+) - Перекладач і титри
- Чи є переклад лише для ядра чи охоплює пакетні модулі
- Відкрийте запит на отримання відповідного репозиторію module/core на GitHub або опублікуйте оголошення на https://xoops.org, щоб спільнота могла його знайти.
Примітка
Якщо ваша мова потребує змін до ядра для форматування дати чи календаря, також включіть ці зміни в пакет. Мови з написанням справа наліво (арабська, іврит, перська, урду) працюють із коробки в XOOPS 2.7.0 — у цьому випуску додано підтримку RTL, і окремі теми підбирають її автоматично.