diff --git a/README.ru_RU.md b/README.ru_RU.md
index 46d4b781..c2a3baa5 100644
--- a/README.ru_RU.md
+++ b/README.ru_RU.md
@@ -18,6 +18,8 @@ VRCX является ассистентом/компаньоном прилож
Скачать и запустить последнюю версию программы установки (`VRCX_Setup.exe`) можно [здесь](https://github.com/vrcx-team/VRCX/releases/latest).
+Доступны бета-версии и ночные сборки [тут](https://vrcx.app/github/nightly) или в внутри приложения `Настройки -> Основные -> Изменить сборку`.
+
# Особенности
diff --git a/html/src/localization/ru/en.json b/html/src/localization/ru/en.json
index 9abb2b90..40549df3 100644
--- a/html/src/localization/ru/en.json
+++ b/html/src/localization/ru/en.json
@@ -307,9 +307,10 @@
"alphabetical": "По алфавиту",
"private_to_bottom": "Приватные в конец",
"status": "По статусу",
- "status_and_private_to_bottom": "ПСтатус и частные до конца",
+ "status_and_private_to_bottom": "Статус и частные до конца",
"location": "По местоположению",
"last_active": "По последней активности",
+ "last_seen": "Последнее посещение",
"time_in_instance": "По времени в инстансе",
"placeholder": "Порядок сортировки",
"dropdown_header": "Выберите порядок сортировки"
@@ -352,6 +353,8 @@
"desktop": "Режим настольного ПК",
"inside_vr": "В VR",
"outside_vr": "Вне VR",
+ "inside_vrchat": "Внутри VRChat",
+ "outside_vrchat": "Снаружи VRChat",
"always": "Всегда"
},
"desktop_notifications": {
@@ -363,7 +366,9 @@
"header": "Преобразование текста в речь",
"when_to_play": "TTS уведомления во время игры",
"tts_voice": "Синтезатор голоса",
- "use_memo_nicknames": "Использовать прозвища из заметок"
+ "use_memo_nicknames": "Использовать прозвища из заметок",
+ "play": "Воспроизвести",
+ "tts_test_placeholder": "Тест TTS"
}
}
},
@@ -435,7 +440,7 @@
"save_instance_prints_to_file": {
"header": "Сохранить снимки инстанса в файл",
"header_tooltip": "Требуется \"--enable-sdk-log-levels\" опция запуска VRC.",
- "description": "Сохраните созданные отпечатки в папке «Изображения VRChat»."
+ "description": "Сохраните созданные принты в папке «Изображения VRChat»."
},
"save_instance_stickers_to_file": {
"header": "Сохранить стикеры инстанса в файл",
@@ -507,7 +512,14 @@
"portal_spawn": "Создание порталов:",
"video_play": "Проигрывание видео:",
"event": "События:"
- }
+ },
+ "user_generated_content": {
+ "header": "Пользовательский контент",
+ "folder": "Открыть папку",
+ "description": "Откройте или укажите папку, где хранится контент, такой как 'Принты' и 'Стикеры'.",
+ "set_folder": "Указать папку",
+ "reset_override": "Сбросить"
+ }
},
"photon": {
"header": "Журнал Photon оверлея",
@@ -576,6 +588,7 @@
"favorite_tooltip": "Добавить в избранное",
"unfavorite_tooltip": "Убрать из избранного",
"refresh": "Обновить",
+ "share": "Поделиться",
"invite": "Пригласить",
"invite_with_message": "Пригласить с сообщением",
"request_invite": "Запросить приглашение",
@@ -725,6 +738,7 @@
"delete_cache_tooltip": "Удалить мир из кэша",
"favorites_tooltip": "Избранное",
"refresh": "Обновить",
+ "share": "Поделиться",
"new_instance": "Новый инстанс",
"new_instance_and_self_invite": "Новый инстанс и самоприглашение",
"make_home": "Сделать Домом",
@@ -872,6 +886,7 @@
"invite_required_tooltip": "Требуется приглашение",
"join_group_tooltip": "Вступить в группу",
"refresh": "Обновить",
+ "share": "Поделиться",
"unsubscribe": "Отписаться от объявлений",
"subscribe": "Подписаться на объявления",
"invite_to_group": "Пригласить в группу",
@@ -1019,6 +1034,7 @@
"launch": "Открыть",
"create_instance": "Создать инстанс",
"queueEnabled": "Очередь",
+ "ageGate": "Возрастной порог",
"normal": "Обычный",
"group": "Группа",
"legacy": "Устаревший",
@@ -1049,6 +1065,7 @@
"picture_directory": "Местоположение папки картинок",
"fpv_steadycam_fov": "Угол обзора Steadycam от первого лица",
"camera_resolution": "Разрешение камеры",
+ "spout_resolution": "Spout разрешение",
"screenshot_resolution": "Разрешение скриншота",
"picture_sort_by_date": "Сортировать изображения по папкам по дате",
"disable_discord_presence": "Отключить Discord Rich Presence",
@@ -1282,7 +1299,7 @@
"icons": "Иконки",
"emojis": "Эмодзи",
"stickers": "Стикеры",
- "prints": "Принты",
+ "prints": "Снимки",
"refresh": "Обновить",
"upload": "Загрузить",
"clear": "Очистить",
@@ -1429,7 +1446,64 @@
"allowed_video_player_domains": {
"header": "Разрешенные домены видеоплеера",
"add_domain": "Добавить домен",
- "save": "Сохранить"
+ "save": "Сохранить"
+ }
+ },
+ "confirm": {
+ "title": "Подтверждение",
+ "confirm_button": "Подтвердить",
+ "cancel_button": "Отмена",
+ "message": "Продолжить {command}?"
+ },
+ "message": {
+ "vrcx_updater": {
+ "failed": "Не удалось проверить наличие обновлений, {message}"
+ },
+ "api_handler": {
+ "avatar_private_or_deleted": "Аватар является приватным или удален"
+ },
+ "badge": {
+ "updated": "Значок обновлен"
+ },
+ "instance": {
+ "closed": "Инстанс закрыт",
+ "removed_form_queue": "Удален инстанс {worldName} из очереди",
+ "not_allowed": "У вас нет доступа к этому инстансу"
+ },
+ "avatar": {
+ "change_moderation_failed": "Не удалось изменить модерацию аватара",
+ "image_changed": "Изображение аватара изменено",
+ "image_invalid": "Текущее изображение аватара недействительно"
+ },
+ "emoji": {
+ "uploaded": "Эмодзи загружен"
+ },
+ "file": {
+ "not_image": "Файл не является изображением",
+ "too_large": "Слишком большой размер файла"
+ },
+ "print": {
+ "uploaded": "Снимок загружен"
+ },
+ "sticker": {
+ "uploaded": "Стикер загружен"
+ },
+ "gallery": {
+ "uploaded": "Изображение галереи загружено",
+ "failed": "Не удалось загрузить изображение галереи"
+ },
+ "world": {
+ "image_changed": "Изображение мира изменено",
+ "image_invalid": "Текущее изображение мира недействительно"
+ },
+ "icon": {
+ "uploaded": "Иконка загружена"
+ },
+ "user": {
+ "moderated": "Пользователь модерирован"
+ },
+ "friend": {
+ "load_failed": "Не удалось загрузить список друзей, выход из системы"
}
},
"prompt": {
@@ -1778,5 +1852,92 @@
"cpu": "CPU:",
"online": "Онлайн:"
}
+ },
+ "api": {
+ "status_code": {
+ "100": "Продолжить",
+ "101": "Переключение протоколов",
+ "102": "Обработка",
+ "103": "Ранние подсказки",
+ "200": "OK",
+ "201": "Создано",
+ "202": "Принято",
+ "203": "Неавторитетная информация",
+ "204": "Нет содержимого",
+ "205": "Сбросить содержимое",
+ "206": "Частичное содержимое",
+ "207": "Мультистатус",
+ "208": "Уже сообщено",
+ "226": "Используется IM",
+ "300": "Множественный выбор",
+ "301": "Перемещено навсегда",
+ "302": "Найдено",
+ "303": "Смотреть другое",
+ "304": "Не изменено",
+ "305": "Использовать прокси",
+ "306": "Переключить прокси",
+ "307": "Временное перенаправление",
+ "308": "Постоянное перенаправление",
+ "400": "Неверный запрос",
+ "401": "Не авторизован",
+ "402": "Требуется оплата",
+ "403": "Запрещено",
+ "404": "Не найдено",
+ "405": "Метод не разрешен",
+ "406": "Неприемлемо",
+ "407": "Требуется аутентификация прокси",
+ "408": "Таймаут запроса",
+ "409": "Конфликт",
+ "410": "Удалено",
+ "411": "Требуется длина",
+ "412": "Предварительное условие не выполнено",
+ "413": "Слишком большой объем данных",
+ "414": "URI слишком длинный",
+ "415": "Неподдерживаемый тип носителя",
+ "416": "Диапазон не удовлетворен",
+ "417": "Ожидание не удалось",
+ "418": "Я чайник",
+ "421": "Неверно направленный запрос",
+ "422": "Невозможно обработать сущность",
+ "423": "Заблокировано",
+ "424": "Не удалось из-за зависимости",
+ "425": "Слишком рано",
+ "426": "Требуется обновление",
+ "428": "Требуется предусловие",
+ "429": "Слишком много запросов",
+ "431": "Поля заголовка запроса слишком велики",
+ "451": "Недоступно по юридическим причинам",
+ "500": "Внутренняя ошибка сервера",
+ "501": "Не реализовано",
+ "502": "Плохой шлюз",
+ "503": "Сервис недоступен",
+ "504": "Таймаут шлюза",
+ "505": "Версия HTTP не поддерживается",
+ "506": "Также согласовывает вариант",
+ "507": "Недостаточно места в хранилище",
+ "508": "Обнаружена петля",
+ "510": "Не расширено",
+ "511": "Требуется аутентификация сети",
+ "520": "Веб-сервер возвращает неизвестную ошибку",
+ "521": "Веб-сервер не работает",
+ "522": "Время ожидания соединения истекло",
+ "523": "Источник недоступен",
+ "524": "Произошел таймаут",
+ "525": "Не удалось SSL-рукопожатие",
+ "526": "Недействительный SSL-сертификат",
+ "527": "Ошибка прослушивания Railgun на источнике"
+ },
+ "error": {
+ "message": {
+ "error_message": "Сообщение об ошибке",
+ "endpoint": "Конечная точка",
+ "missing_credentials": "Отсутствуют учетные данные",
+ "avatar_private_or_deleted": "Аватар является приватным или удален",
+ "vpn_in_use": "VRChat в настоящее время блокирует большинство VPN. Пожалуйста, отключите все подключенные VPN и попробуйте снова.",
+ "login_error": "Ошибка входа",
+ "invalid_json_response": "Неверный JSON-ответ",
+ "403_404_bailing_request": "Отмена запроса из-за недавних ошибок 404/403"
+ }
+ }
}
}