Files
pipu-music/packages/i18n/locales/ru/common.json
T
mrleo1nidandClaude Opus 5.5 9fd616da57
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m39s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m2s
ci / ts / ts (packages + web) (push) Successful in 1m5s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 39s
feat(mobile): sign-in, tabs, search, collection and background player (M5)
- expo-router app in src/app: connect (server check, recent servers),
  login, mandatory credential / password change, tabs Home / Search /
  Collection / Profile, album and artist pages, full-screen player
- AuthSession per server with the refresh token in expo-secure-store
  (Android Keystore); language from the profile
- player on react-native-track-player: ExoPlayer queue with a
  notification and lock-screen controls via a playback service, 500 MB
  stream cache, quality by network (Wi-Fi high, cellular medium),
  play events with played time, reactions, playback state restore and
  the endless My Wave with feedback
- home: pulsing wave circle driven by BPM / energy in the cover
  palette, activity and mood chips that switch the wave on the fly
- New Architecture is off until react-native-track-player supports it;
  the release build runs codegen only when it is on; query-string is a
  direct dependency because expo-router 5.1 imports it undeclared

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 12:48:55 +03:00

207 lines
8.1 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"app": {
"name": "pipu",
"tagline": "Ваша музыка с вашего сервера"
},
"server": {
"title": "Сервер",
"checking": "Проверяем сервер…",
"online": "Сервер {{version}} на связи",
"offline": "Сервер не отвечает. Проверьте адрес и сеть.",
"address": "Адрес сервера",
"check": "Проверить",
"invalid_address": "Введите адрес сервера, например https://music.home.lan",
"unsupported_app": "Эта версия приложения слишком старая для сервера — обновите приложение"
},
"language": {
"label": "Язык",
"ru": "Русский",
"en": "English"
},
"nav": {
"main": "Навигация",
"home": "Главная",
"admin": "Админка",
"users": "Пользователи",
"audit": "Журнал",
"library": "Библиотека",
"sources": "Хранилища",
"collection": "Коллекция",
"history": "История",
"likes": "Лайки",
"dislikes": "Дизлайки"
},
"profile": {
"menu": "Меню профиля",
"settings": "Настройки",
"logout": "Выйти"
},
"roles": {
"admin": "Администратор",
"moderator": "Модератор",
"user": "Пользователь"
},
"home": {
"greeting": "Привет, {{name}}!",
"wave": "Моя волна",
"wave_soon": "Бесконечная лента под ваш вкус появится, когда сервер подключит библиотеку."
},
"player": {
"empty": "Ничего не играет",
"label": "Плеер",
"play": "Слушать",
"pause": "Пауза",
"next": "Следующий",
"prev": "Предыдущий",
"like": "Нравится",
"unlike": "Убрать из лайков",
"dislike": "Не нравится",
"undislike": "Убрать дизлайк",
"volume": "Громкость",
"mute": "Выключить звук",
"unmute": "Включить звук",
"shuffle": "Перемешать",
"repeat_off": "Повтор выключен",
"repeat_all": "Повторять очередь",
"repeat_one": "Повторять трек",
"progress": "Позиция",
"unavailable": "Трек недоступен — пропускаем",
"error": "Не удалось воспроизвести трек"
},
"settings": {
"title": "Настройки",
"account": "Аккаунт",
"display_name": "Отображаемое имя",
"save": "Сохранить",
"saved": "Сохранено",
"appearance": "Внешний вид",
"theme": "Тема",
"theme_dark": "Тёмная",
"theme_light": "Светлая",
"theme_system": "Как в системе",
"password": "Пароль",
"current_password": "Текущий пароль",
"new_password": "Новый пароль",
"repeat_password": "Повторите пароль",
"change_password": "Сменить пароль",
"password_changed": "Пароль изменён. Другие устройства вышли из аккаунта.",
"sessions": "Устройства",
"session_current": "Это устройство",
"session_last_used": "Активность: {{date}}",
"session_end": "Завершить",
"logout_all": "Выйти на всех устройствах",
"wave_variant": "Вид волны",
"wave_orb": "Сфера",
"wave_liquid": "Жидкая"
},
"form": {
"show_password": "Показать пароль",
"hide_password": "Скрыть пароль",
"passwords_mismatch": "Пароли не совпадают",
"required": "Заполните поле",
"cancel": "Отмена",
"close": "Закрыть",
"copy": "Копировать",
"copied": "Скопировано"
},
"loading": "Загрузка…",
"route_error": {
"reload": "Обновить страницу"
},
"search": {
"placeholder": "Исполнители, альбомы, треки",
"label": "Поиск",
"artists": "Исполнители",
"albums": "Альбомы",
"tracks": "Треки",
"all": "Всё",
"nothing": "Ничего не нашли",
"corrected": "Показаны результаты для «{{query}}»",
"show_all": "Все результаты",
"title": "Поиск: {{query}}",
"more": "Показать ещё",
"artist_kind": "Исполнитель",
"hint": "Нажмите / для поиска"
},
"catalog": {
"albums": "Альбомы",
"appears_on": "Встречается на",
"album_count_one": "{{count}} альбом",
"album_count_few": "{{count}} альбома",
"album_count_many": "{{count}} альбомов",
"album_count_other": "{{count}} альбома",
"track_count_one": "{{count}} трек",
"track_count_few": "{{count}} трека",
"track_count_many": "{{count}} треков",
"track_count_other": "{{count}} трека",
"unavailable": "Недоступен: хранилище отключено или файл пропал",
"not_found": "Ничего не найдено — возможно, удалено при последнем скане",
"disc": "Диск {{n}}",
"col_title": "Название",
"col_album": "Альбом",
"col_duration": "Время",
"back_home": "На главную",
"artist": "Исполнитель",
"album": "Альбом"
},
"collection": {
"title": "Коллекция",
"history": "История",
"likes": "Лайки",
"dislikes": "Дизлайки",
"clear_history": "Очистить историю",
"clear_confirm": "Очистить историю прослушиваний? Рекомендации её всё равно учтут.",
"today": "Сегодня",
"yesterday": "Вчера",
"empty_history": "Здесь появится то, что вы слушали",
"empty_likes": "Отмечайте треки сердечком — они соберутся здесь",
"empty_dislikes": "Треки с дизлайком не попадут в волну. Пока таких нет",
"play_all": "Слушать всё",
"more": "Показать ещё"
},
"wave": {
"title": "Моя волна",
"for_you": "Под ваш вкус",
"start": "Запустить «Мою волну»",
"pause": "Пауза «Моей волны»",
"activity_label": "Занятие",
"mood_label": "Настроение",
"reset": "Сбросить",
"empty": "В библиотеке пока нечего предложить",
"fallback": "Рекомендации временно упрощены",
"activities": {
"running": "Бегаю",
"workout": "Тренировка",
"waking_up": "Просыпаюсь",
"focus": "Работаю",
"commute": "В дороге",
"chill": "Отдыхаю",
"sleep": "Засыпаю"
},
"moods": {
"energetic": "Энергичное",
"happy": "Весёлое",
"calm": "Спокойное",
"sad": "Грустное"
}
},
"mobile": {
"connect": "Подключиться",
"servers": "Недавние серверы",
"change_server": "Другой сервер",
"server": "Сервер",
"open_admin": "Админка — откроется в браузере",
"version": "Версия приложения {{version}}",
"offline": "Нет связи с сервером",
"profile": "Профиль",
"search": "Поиск",
"recent_searches": "Недавние запросы",
"clear_recent": "Очистить",
"now_playing": "Сейчас играет",
"open_player": "Открыть плеер",
"close_player": "Свернуть плеер",
"queue": "Очередь",
"forget_server": "Забыть сервер"
}
}