Панель:
- engine/main/lang.php: класс Lang, автоопределение языка (?lang= -> cookie -> Accept-Language -> конфиг)
- перевод применяется к готовому ответу через ob_start(): покрывает всю панель, админку и письма,
не требуя правки 200 файлов шаблонов; отсутствующая фраза остаётся русской
- замена только на границах слов, иначе короткий ключ портил длинные слова (Модуль -> Modуль)
- AJAX-ответы переводятся отдельно (json_encode экранирует кириллицу в \uXXXX)
- application/lang/en.php: 657 переводов; ru.php как точка расширения
- переключатель RU/EN в шапке кабинета, админки и в подвале страницы входа
- 'lang' в config.php — язык по умолчанию
- проверено обходом 20 разделов: 0 непереведённых фраз, 0 мешанины языков, 0 фаталов
Документация — теперь на русском и английском:
- README.en.md, CHANGES.en.md, SECURITY.en.md, GUIDE.en.md
- переключатели языка в начале каждого документа
- раздел «Язык интерфейса» в инструкции: как работает, как добавить свой язык
'Ваш аккаунт подтвержден!'=>'Your account is confirmed!',
'Указанный E-Mail уже зарегистрирован!'=>'That e-mail is already registered!',
'Указанный E-Mail уже используется!'=>'That e-mail is already in use!',
'Пользователь с указанным E-Mail не зарегистрирован!'=>'No user is registered with that e-mail!',
'Укажите свой реальный E-Mail!'=>'Enter a valid e-mail address!',
'Укажите свое реальное имя!'=>'Enter your real first name!',
'Укажите свою реальную фамилию!'=>'Enter your real last name!',
'Введенные вами пароли не совпадают!'=>'The passwords do not match!',
'Пароль должен содержать от 6 до 32 латинских букв, цифр и знаков <i>,.!?_-</i>!'=>'The password must be 6 to 32 Latin letters, digits or the characters <i>,.!?_-</i>!',
'Пароль должен содержать от 8 до 32 латинских букв, цифр и знаков <i>,.!?_-</i>!'=>'The password must be 8 to 32 Latin letters, digits or the characters <i>,.!?_-</i>!',
'Восстановление пароля'=>'Password recovery',
'На ваш E-Mail отправлена информация для восстановления пароля!'=>'Password recovery instructions have been sent to your e-mail!',
'Указанный ключ восстановления неверный!'=>'That recovery key is not valid!',
'Ваш пароль успешно был изменен'=>'Your password has been changed',
'Пароль был успешно изменен!'=>'The password has been changed!',
'Подтвердите, что вы не робот!'=>'Please confirm that you are not a robot!',
'Укажите правильный код с картинки! Попробуйте нажать на картинку, чтобы обновить ее.'=>'Enter the correct code from the image. Click the image to refresh it.',
'Укажите правильный код с картинки!'=>'Enter the correct code from the image!',
'Проверьте правильность капчи!'=>'Check the captcha and try again!',
'Проверьте вашу почту,'=>'Check your e-mail,',
'на нее должно прийти сообщение с дальнейшими инструкциями.'=>'a message with further instructions should arrive there.',
'Повторите вашу попытку снова.'=>'Please try again.',
'Через 5 секунд вы будете перенаправлены на домашнюю страницу'=>'You will be redirected to the home page in 5 seconds',
'Вы не являетесь владельцем сервера. У вас нет доступа к разделу!'=>'You are not the server owner, so you cannot access this section!',
'Вы указали недоступный ID пользователя!'=>'That user ID is not available!',
'Запрашиваемый пользователь не существует!'=>'The requested user does not exist!',
'Запрашиваемый пользователь уже добавлен!'=>'That user has already been added!',
'Запрашиваемый пользователь является владельцем сервера!'=>'That user is the server owner!',
// ── тестовый период ──────────────────────────────────────────────────────────
'Вы уже брали тестовый период, либо у вас нет одобрения администратора!'=>'You have already used the trial period, or an administrator has not approved it!',
'Тестовый период отключен на хостинге!'=>'The trial period is disabled on this hosting!',
'Веб.хостинг не доступен для заказа!'=>'Web hosting is not available for ordering!',
'Вы указали несуществующий тариф!'=>'You selected a plan that does not exist!',
'Данный тариф не доступен для указанной локации!'=>'This plan is not available in the selected location!',
'Веб-хостинг заблокирован!'=>'Web hosting is suspended!',
'Запрашиваемый веб-хостинг не существует!'=>'The requested web hosting does not exist!',
// ── темы оформления ──────────────────────────────────────────────────────────
'Тема установлена!'=>'Theme applied!',
'Тема Default успешно установлена!'=>'The Default theme has been applied!',
'Тема Material успешно установлена!'=>'The Material theme has been applied!',
'Тема Material gray успешно установлена!'=>'The Material gray theme has been applied!',
'Тема Material light успешно установлена!'=>'The Material light theme has been applied!',
'Тема Default'=>'Default theme',
// ── главная страница и маркетинг ─────────────────────────────────────────────
'Удобная панель управления'=>'A convenient control panel',
'С нашей панелью управления, управлять сервером легко и просто с ней справится как опытный пользователь так и новичок.'=>'Our control panel makes managing a server simple — both for experienced users and for beginners.',
'Преимущества нашего хостинга'=>'Why choose our hosting',
'Платежная система быстрой оплаты'=>'Quick payment gateway',
'Яндекс деньги'=>'YooMoney',
'Номер счета'=>'Account number',
'Секретный пароль'=>'Secret password',
'Дополнительный ключ'=>'Additional key',
'ID проекта'=>'Project ID',
'Unitpay секретный ключ'=>'Unitpay secret key',
'Токен'=>'Token',
'Публичный ключ'=>'Public key',
'Введите публичный ключ'=>'Enter the public key',
'Настройки формы Qiwi'=>'Qiwi form settings',
'Включены'=>'Enabled',
'Выключены'=>'Disabled',
'Код темы (themeCode)'=>'Theme code (themeCode)',
'Введите код темы (themeCode)'=>'Enter the theme code (themeCode)',
'Тестовый период'=>'Trial period',
'Заказ запрещен'=>'Ordering disabled',
'Заказ разрешен (по одобрению)'=>'Ordering allowed (with approval)',
'Подтверждение E-mail'=>'E-mail confirmation',
'Тех.работы'=>'Maintenance',
'Хостинг доступен'=>'Hosting available',
'Хостинг закрыт на тех.работы'=>'Hosting closed for maintenance',
'Статус тех.работ'=>'Maintenance status',
'Сообщение тех.работ'=>'Maintenance message',
'Введите сообщение тех.работ'=>'Enter the maintenance message',
'Хостинг временно закрыт на обслуживание!'=>'The hosting is temporarily closed for maintenance!',
'ID приложения'=>'Application ID',
'Введите ID приложения'=>'Enter the application ID',
'Статус авторизаци'=>'Login status',
'Статус бота'=>'Bot status',
'Стоимость смены порта'=>'Port change price',
'Введите стоимость смены порта'=>'Enter the port change price',
'Конвертация бонусов'=>'Bonus conversion',
'Процент реферальной системы (за заказ услуг)'=>'Referral percentage (on service orders)',
'Процент бонусов за пополнение'=>'Bonus percentage on top-ups',
'Контактый номер'=>'Contact number',
'Введите минимальный бонус'=>'Enter the minimum bonus',
'Введите максимальный бонус'=>'Enter the maximum bonus',
'Введите ID пользователя'=>'Enter the user ID',
'Введите login'=>'Enter the login',
'Введите pass'=>'Enter the password',
// ── капча в настройках ───────────────────────────────────────────────────────
'Защита от ботов (reCAPTCHA v2)'=>'Bot protection (reCAPTCHA v2)',
'Выключена (капчи нет на сайте)'=>'Disabled (no captcha on the site)',
'Включена (нужны ключи ниже)'=>'Enabled (requires the keys below)',
'Капча при входе, регистрации, восстановлении пароля и в тикетах. Включайте только после того, как вписали оба ключа.'=>'Captcha on login, registration, password recovery and tickets. Only enable it after both keys are filled in.',
'Site key (публичный ключ) — из панели google.com/recaptcha, тип reCAPTCHA v2 «Я не робот»'=>'Site key (public key) — from google.com/recaptcha, reCAPTCHA v2 "I am not a robot"',
'Secret key (секретный ключ) того же сайта'=>'Secret key for the same site',
// ── акции ────────────────────────────────────────────────────────────────────
'Проведение акции'=>'Run a promotion',
'Провести акцию'=>'Run promotion',
'Начать акцию'=>'Start promotion',
'Раздача реальных денег'=>'Give away real money',
'Выдать только 1 пользователю'=>'Give to one user only',
'Создавать новость об проведённом розыгрыше'=>'Create a news post about the giveaway',
// ── проверка системы ─────────────────────────────────────────────────────────
'Функция'=>'Feature',
'Установка'=>'Installation',
'Работоспособность бд для сервера.'=>'Database support for servers.',
'Подключение по ssh.'=>'SSH connectivity.',
'Просмотр каптчи.'=>'Captcha rendering.',
'Кэширование памяти.'=>'Memory caching.',
'Время'=>'Time',
'Ссылка для браузера'=>'Browser link',
'1 раз в 00:00'=>'daily at 00:00',
'1 раз в минуту'=>'every minute',
'1 раз в 10 минут'=>'every 10 minutes',
'1 раз в 30 минут'=>'every 30 minutes',
'1 раз в час'=>'hourly',
'1 раз в неделю'=>'weekly',
// ── прочее, найденное при проверке страниц ──────────────────────────────────
'У вас ещё нет аккаунта?'=>'Do not have an account yet?',
'Забыли пароль?'=>'Forgot your password?',
'Восстановить пароль'=>'Reset password',
'Введите Ваше Имя'=>'Enter your first name',
'Введите Вашу Фамилию'=>'Enter your last name',
'Введите Ваш E-Mail'=>'Enter your e-mail',
'Введите Пароль'=>'Enter a password',
'Повторите Пароль'=>'Repeat the password',
'Без приглашения'=>'No invitation',
'Введите ваше имя..'=>'Enter your first name…',
'Введите вашу фамилию..'=>'Enter your last name…',
'Введите ваш email..'=>'Enter your e-mail…',
'Вопрос'=>'Question',
'Проблемы с сервером'=>'Problems with a server',
'Проблемы с аккаунтом'=>'Problems with an account',
'Сотрудничество'=>'Partnership',
'Наша техническая поддержка работает'=>'Our technical support works',
'дней в году. Мы готовы помочь вам в любое время суток.'=>'days a year. We are ready to help you at any hour.',
// ── найдено на второй проверке страниц ──────────────────────────────────────
'Панель'=>'Panel',
'Вход в аккаунт'=>'Account login',
'Попытка входа в аккаунт'=>'Account login attempt',
// Язык интерфейса. Перевод применяется к готовому ответу (см. engine/main/lang.php),
// поэтому весь вывод собирается в буфер — включая страницы, которые делают exit().
$lang=newLang($registry);
$registry->lang=$lang;
ob_start(array($lang,'apply'));
$game_settings=newGame_settings();
$registry->game_settings=$game_settings;
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.