Skip to content

Commit

Permalink
feat: add russian translation (#305)
Browse files Browse the repository at this point in the history
chore: add build step for discord notification of new releases
  • Loading branch information
ellite authored May 8, 2024
1 parent 7ee8f5b commit ae04d50
Show file tree
Hide file tree
Showing 6 changed files with 300 additions and 1 deletion.
7 changes: 7 additions & 0 deletions .github/workflows/build-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,10 @@ jobs:
platforms: linux/amd64,linux/arm64,linux/arm/v7
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Send notification to Discord
if: github.event_name != 'pull_request'
uses: Ilshidur/action-discord@master
with:
args: "A new release has been created: ${{ steps.meta.outputs.tags }}"
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
1 change: 1 addition & 0 deletions includes/i18n/languages.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"pl" => "Polski",
"pt" => "Português",
"pt_br" => "Português Brasileiro",
"ru" => "Русский",
"sr_lat" => "Srpski",
"sr" => "Српски",
"tr" => "Türkçe",
Expand Down
254 changes: 254 additions & 0 deletions includes/i18n/ru.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,254 @@
<?php

$i18n = [
// Registration page
"create_account" => "Вам необходимо создать учетную запись, прежде чем вы сможете войти в систему",
'username' => "Имя пользователя",
'password' => "Пароль",
"email" => "E-mail",
"confirm_password" => "Подтвердите пароль",
"main_currency" => "Основная валюта",
"language" => "Язык",
"passwords_dont_match" => "Пароли не совпадают",
"registration_failed" => "Регистрация не удалась, попробуйте еще раз.",
"register" => "Регистрация",
"restore_database" => "Восстановить базу данных",
// Login Page
'please_login' => "Пожалуйста, войдите",
'stay_logged_in' => "Оставаться в системе (30 дней)",
'login' => "Авторизоваться",
'login_failed' => "Данные для входа неверны",
// Header
'subscriptions' => "Подписки",
'stats' => "Статистика",
'settings' => "Настройки",
'about' => "О программе",
'logout' => "Выйти",
// Subscriptions page
"subscription" => "Подписка",
"no_subscriptions_yet" => "У вас пока нет подписок",
"add_first_subscription" => "Добавить первую подписку",
'new_subscription' => "Новая подписка",
'search' => "Поиск",
'sort' => "Сортировка",
'name' => "Имя",
'last_added' => "Последний добавленный",
'price' => "Стоимость",
'next_payment' => "Следующий платеж",
'inactive' => "Отключить подписку",
'member' => "Член",
'category' => "Категория",
'payment_method' => "Способ оплаты",
"Daily" => "День",
"Weekly" => "Неделя",
"Monthly" => "Месяц",
"Yearly" => "Год",
"daily" => "День(и)",
"weekly" => "Неделя(и)",
"monthly" => "Месяц(ы)",
"yearly" => "Год(ы)",
"days" => "дней",
"weeks" => "недель",
"months" => "месяцев",
"years" => "года",
"external_url" => "Посетите внешний URL-адрес",
"empty_page" => "Пустая страница",
"clear_filters" => "Очистить фильтры",
"no_matching_subscriptions" => "Нет подходящих подписок",
// Subscription form
"add_subscription" => "Добавить подписку",
"edit_subscription" => "Изменить подписку",
"subscription_name" => "Название подписки",
"logo_preview" => "Предварительный просмотр логотипа",
"search_logo" => "Поиск логотипа в Интернете",
"web_search" => "Веб-поиск",
"currency" => "Валюта",
"payment_every" => "Оплата каждые",
"frequency" => "Частота",
"cycle" => "Цикл",
"next_payment" => "Следующий платеж",
"payment_method" => "Способ оплаты",
"no_category" => "Нет категории",
"paid_by" => "Оплачивает",
"url" => "URL",
"notes" => "Примечания",
"enable_notifications" => "Включить уведомления для этой подписки",
"delete" => "Удалить",
"cancel" => "Отмена",
"upload_logo" => "Загрузить логотип",
// Statistics page
'general_statistics' => "Общая статистика",
'active_subscriptions' => "Активные подписки",
'inactive_subscriptions' => "Неактивные подписки",
'monthly_cost' => "Ежемесячная стоимость",
'yearly_cost' => "Годовая стоимость",
'average_monthly' => "Средняя ежемесячная стоимость подписки",
'most_expensive' => "Самая дорогая стоимость подписки",
'amount_due' => "Сумма к оплате в этом месяце",
'monthly_savings' => "Ежемесячная экономия (при неактивных подписках)",
'split_views' => "Подробная статистика",
'category_split' => "По категориям",
'household_split' => "По членам семьи",
'payment_method_split' => "По способам оплаты",
// About page
'about_and_credits' => "О компании и авторах",
'license' => "Лицензия",
'issues_and_requests' => "Проблемы и вопросы",
'the_author' => "Автор",
'icons' => "Значки",
'payment_icons' => "Значки способов оплаты",
// Settings page
'upload_avatar' => "Загрузить аватар",
'file_type_error' => "Указанный тип файла не поддерживается.",
'user_details' => "Данные пользователя",
"household" => "Семья",
"save_member" => "Сохранить члена семьи",
"delete_member" => "Удалить члена семьи",
"cant_delete_member" => "Не могу удалить основного члена семьи",
"cant_delete_member_in_use" => "Невозможно удалить члена семьи, используемого в подписке.",
'household_info' => "Поле электронной почты позволяет членам семьи получать уведомления об истечении срока действия подписки.",
"notifications" => "Уведомления",
"enable_email_notifications" => "Включить уведомления по электронной почте",
"notify_me" => "Уведомить меня",
"day_before" => "день до события",
"days_before" => "дня до события",
"smtp_address" => "SMTP-адрес",
"port" => "Порт",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Имя пользователя SMTP",
"smtp_password" => "Пароль SMTP",
"from_email" => "От кого E-Mail (необязательно)",
"smtp_info" => "Пароль SMTP передается и сохраняется в виде открытого текста. В целях безопасности создайте учетную запись только для Wallos.",
"telegram" => "Telegram",
"telegram_bot_token" => "Токен Telegram-бота",
"telegram_chat_id" => "Telegram Chat ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Метод запроса",
"custom_headers" => "Пользовательские заголовки",
"webhook_payload" => "Webhook Payload",
"webhook_iterator_key" => "Заменить {{subscriptions}} именем ключа.",
"variables_available" => "Доступные переменные",
"gotify" => "Gotify",
"token" => "Токен",
"discord" => "Discord",
"discord_bot_username" => "Имя пользователя бота Discord",
"discord_bot_avatar_url" => "URL-адрес аватара бота Discord",
"pushover" => "Pushover",
"pushover_user_key" => "Ключ пользователя Pushover",
"categories" => "Категории",
"save_category" => "Сохранить категорию",
"delete_category" => "Удалить категорию",
"cant_delete_category_in_use" => "Невозможно удалить категорию, используемую в подписке.",
"currencies" => "Валюты",
"save_currency" => "Сохранить валюту",
"delete_currency" => "Удалить валюту",
"cant_delete_main_currency" => "Не могу удалить основную валюту",
"cant_delete_currency_in_use" => "Невозможно удалить валюту, используемую в подписке.",
"exchange_update" => "Курсы валют последний раз обновлялись",
"currency_info" => "Найдите поддерживаемые валюты и правильные коды валют на",
"currency_performance" => "Для повышения производительности сохраняйте только те валюты, которые вы используете.",
"fixer_api_key" => "Ключ Fixer API",
"api_key" => "API ключ",
"provider" => "Провайдер",
"fixer_info" => "Если вы используете несколько валют и хотите получить точную статистику и сортировку подписок, вам необходим БЕСПЛАТНЫЙ ключ API от Fixer.",
"get_key" => "Получите ключ по адресу",
"get_free_fixer_api_key" => "Получите бесплатный ключ API Fixer",
"get_key_alternative" => "Кроме того, вы можете получить бесплатный ключ API Fixer на сайте",
"display_settings" => "Настройки отображения",
"theme_settings" => "Настройки темы",
"custom_colors" => "Пользовательские цвета",
"dark_theme" => "Темная тема",
"switch_theme" => "Переключить светлую/темную тему",
"calculate_monthly_price" => "Рассчитайть и показать ежемесячную цену для всех подписок",
"convert_prices" => "Всегда конвертировать и показывать цены в моей основной валюте (медленнее)",
"hide_disabled_subscriptions" => "Скрыть отключенные подписки",
"experimental_settings" => "Экспериментальные настройки",
"remove_background" => "Попытка удалить фон логотипов из поиска изображений (экспериментально).",
"experimental_info" => "Экспериментальные настройки, вероятно, не будут работать идеально.",
"payment_methods" => "Способы оплаты",
"payment_methods_info" => "Нажмите на способ оплаты, чтобы отключить/включить его.",
"rename_payment_methods_info" => "Нажмите на название способа оплаты, чтобы переименовать его.",
"cant_delete_payment_method_in_use" => "Невозможно отключить используемый способ оплаты",
"add_custom_payment" => "Добавить собственный способ оплаты",
"payment_method_name" => "Название способа оплаты",
"payment_method_added_successfuly" => "Способ оплаты успешно добавлен",
"payment_method_removed" => "Способ оплаты удален.",
"disable" => "Отключить",
"enable" => "Включить",
"rename_payment_method" => "Переименовать способ оплаты",
"payment_renamed" => "Способ оплаты переименован",
"payment_not_renamed" => "Способ оплаты не переименован",
"test" => "Тест",
"add" => "Добавить",
"save" => "Сохранить",
"reset" => "Перезагрузить",
"backup_and_restore" => "Резервное копирование и восстановление",
"backup" => "Резервное копирование",
"restore" => "Восстановление",
"restore_info" => "Восстановление базы данных отменит все текущие данные. После восстановления вы выйдете из системы.",
// Filters menu
"filter" => "Фильтр",
"clear" => "Очистить",
// Toast
"success" => "Успешно",
// Endpoint responses
"session_expired" => "Срок действия вашей сессии истек. Пожалуйста, войдите снова",
"fields_missing" => "Некоторые поля отсутствуют",
"fill_all_fields" => "Пожалуйста заполните все поля",
"fill_mandatory_fields" => "Пожалуйста, заполните все обязательные поля",
"error" => "Ошибка",
// Category
"failed_add_category" => "Не удалось добавить категорию",
"failed_edit_category" => "Не удалось изменить категорию",
"category_in_use" => "Категория используется в подписках и не может быть удалена.",
"failed_remove_category" => "Не удалось удалить категорию",
"category_saved" => "Категория сохранена",
"category_removed" => "Категория удалена",
"sort_order_saved" => "Порядок сортировки сохранен.",
// Currency
"currency_saved" => "сохранено.",
"error_adding_currency" => "Ошибка добавления валюты.",
"failed_to_store_currency" => "Не удалось сохранить валюту в базе данных.",
"currency_in_use" => "Валюта используется в подписках и не может быть удалена.",
"currency_is_main" => "Валюта установлена ​​в качестве основной и не может быть удалена.",
"failed_to_remove_currency" => "Не удалось удалить валюту из базы данных.",
"failed_to_store_api_key" => "Не удалось сохранить ключ API в базе данных.",
"invalid_api_key" => "Неверный ключ API.",
"api_key_saved" => "Ключ API успешно сохранен",
"currency_removed" => "Валюта удалена",
// Household
"failed_add_household" => "Не удалось добавить члена семьи.",
"failed_edit_household" => "Не удалось изменить члена семьи.",
"failed_remove_household" => "Не удалось удалить члена семьи.",
"household_in_use" => "Член семьи используется в подписках и не может быть удален.",
"member_saved" => "Член семьи сохранен",
"member_removed" => "Член семьи удален",
// Notifications
"error_saving_notifications" => "Ошибка сохранения данных уведомлений.",
"wallos_notification" => "Уведомление от Wallos",
"test_notification" => "Это тестовое уведомление. Если вы видите это, значит, конфигурация правильная.",
"email_error" => "Ошибка отправки электронной почты",
"notification_sent_successfuly" => "Уведомление успешно отправлено",
"notifications_settings_saved" => "Настройки уведомлений успешно сохранены.",
"notification_failed" => "Уведомление не удалось",
// Payments
"payment_in_use" => "Невозможно отключить используемый способ оплаты",
"failed_update_payment" => "Не удалось обновить способ оплаты в базе данных.",
"enabled" => "включено",
"disabled" => "отключено",
// Subscription
"error_fetching_image" => "Ошибка при загрузке изображения.",
"subscription_updated_successfuly" => "Подписка успешно обновлена",
"subscription_added_successfuly" => "Подписка успешно добавлена",
"error_deleting_subscription" => "Ошибка удаления подписки.",
"invalid_request_method" => "Неверный метод запроса.",
// User
"error_updating_user_data" => "Ошибка обновления пользовательских данных.",
"user_details_saved" => "Данные пользователя сохранены.",

];


?>
2 changes: 1 addition & 1 deletion includes/version.php
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<?php
$version = "v1.25.1";
$version = "v1.26.0";
?>
Loading

0 comments on commit ae04d50

Please sign in to comment.