ffplayout/frontend/i18n/locales/ru-RU.js
2024-10-21 15:08:32 +02:00

254 lines
14 KiB
JavaScript
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.

export default {
ok: 'ОК',
cancel: 'Отмена',
socketConnected: 'Event stream connected',
socketDisconnected: 'Event stream disconnected',
alert: {
wrongLogin: 'Неверные данные для входа!',
},
button: {
login: 'Логин',
home: 'Домашняя страница',
player: 'Плеер',
media: 'Файлы',
message: 'Сообщение',
logging: 'Логи',
channels: 'Каналы',
configure: 'Конфигурация',
logout: 'Выйти',
},
error: {
notFound: 'Страница не найдена',
serverError: 'Внутреняя серверная ошибка',
},
input: {
username: 'Логин',
password: 'Пароль',
},
system: {
cpu: 'Процессор',
cores: 'Ядра',
load: 'Нагрузка',
memory: 'Оперативная память',
swap: 'Swap',
total: 'Всего',
usage: 'Используется',
network: 'Интернет',
in: 'Прием',
out: 'Отдача',
storage: 'Хранилище',
device: 'Устройство',
size: 'Размер',
used: 'Использовано',
},
control: {
noClip: 'На данный момент ни один файл не воспроизводится',
ingest: 'Прямой эфир/Перехват эфира',
start: 'Запустить Playout Service',
last: 'Переключить на предыдущий файл',
stop: 'Остановить Playout Service',
reset: 'Сбросить Playout State',
restart: 'Перезапустить Playout Service',
next: 'Переключить на следующий файл',
},
player: {
start: 'Начало',
file: 'Файл',
play: 'Проиграть',
title: 'Название файла',
duration: 'Длительность',
total: 'Всего',
in: 'Начало',
out: 'Конец',
ad: 'Реклама',
edit: 'Редактировать',
delete: 'Удалить',
copy: 'Скопировать плейлист',
loop: 'Повторить все видео в плейлисте',
remote: 'Добавить (удаленно) файл в плейлист',
import: 'Загрузить text/m3u файл',
generate: 'Простой и продвинутый генератор плейлистов',
reset: 'Сбросить плейлист',
save: 'Сохранить плейлист',
deletePlaylist: 'Удалить плейлист',
unsavedProgram: 'Этот плейлист не сохранен!',
copyTo: 'Скопировать текущую программу за',
addEdit: 'Добавить/Редактировать файл',
audio: 'Звук',
customFilter: 'Пользовательский фильтр',
deleteFrom: 'Удалить плейлист за',
deleteSuccess: 'Плейлист удален...',
generateProgram: 'Генерация плейлиста',
simple: 'Простой',
advanced: 'Расширенный',
sorted: 'Отсортировать',
shuffle: 'Перемещать/Перетасовать',
shift: 'Перемотка',
all: 'Все',
addBlock: 'Добавить время начало передачи',
infinitInfo: 'Воспроизведение работает в бесконечном режиме. Никакая информация, основанная на времени, невозможна.',
generateDone: 'Генерация плейлиста завершена...',
dateYesterday: 'Current time is before the playlist start time!',
},
media: {
notExists: 'Папки не существует!',
create: 'Сделать папку',
upload: 'Загрузить файлы',
delete: 'Удалить',
file: 'Файл',
folder: 'Папку',
deleteQuestion: 'Вы уверены что хотите это удалить',
preview: 'Просмотр',
rename: 'Переименовать файл',
newFile: 'Название нового файла',
createFolder: 'Сделать папку',
foldername: 'Имя папки',
current: 'Процесс загрузки',
overall: 'Всего',
uploading: 'Загружается',
moveError: 'Move error',
deleteError: 'Ошишка удаления',
folderExists: 'Папка уже имеется!',
folderCreate: 'Создание папки готово...',
folderError: 'Ошибка Создания папки',
uploadError: 'Ошибка Загрузки',
fileExists: 'Файл уже имеется!',
recursive: 'Рекурсивный',
},
message: {
savePreset: 'Сохранить шаблон',
newPreset: 'Новый шаблон',
delPreset: 'Удалить шаблон',
delText: 'Вы уверены что хотите удалить шаблон',
placeholder: 'Текст',
xAxis: 'X Axis',
yAxis: 'Y Axis',
showBox: 'Текст с фоном',
boxColor: 'Цвет фона для текста',
boxAlpha: 'Прозрачность фона для текста',
size: 'Размер',
spacing: 'Spacing',
overallAlpha: 'Overall Alpha',
fontColor: 'Цвет текста',
fontAlpha: 'Font Alpha',
borderWidth: 'Border Width',
send: 'Отправить в эфир',
name: 'Название',
saveDone: 'Сохранение предустановки выполнено!',
saveFailed: 'Сохранить пресет не удалось!',
sendDone: 'Отправка успешна...',
sendFailed: 'Отправка не удалась...',
},
log: {
download: 'Скачать лог файл',
reload: 'Перезагрузка',
},
advanced: {
title: 'Advanced Configuration',
decoder: 'Decoder',
encoder: 'Encoder',
filter: 'Filter',
ingest: 'Ingest',
updateSuccess: 'Update advanced config success!',
updateFailed: 'Update advanced config failed!',
warning: 'Warning! These settings are experimental and only intended for advanced users who are familiar with ffmpeg. Only change the settings here if you are sure of what you are doing! The settings can make the system unstable.',
},
config: {
channel: 'Канал',
user: 'Юзер',
channelConf: 'Конфигурация канала',
addChannel: 'Сделать новый канал',
name: 'Название канала',
previewUrl: 'Предварительный просмотр эфира канала по URL',
extensions: 'Дополнительные расширения',
save: 'Сохранить',
delete: 'Удалить',
updateChannelSuccess: 'Обновление конфигурации канала успешно!',
updateChannelFailed: 'Обновление конфигурации канала не получилось!',
errorChannelDelete: 'Первый канал не может быть удален!',
deleteChannelSuccess: 'Удаление канала успешно!',
deleteChannelFailed: 'Удаление канала неуспешно!',
playoutConf: 'Настройки Конфигурации',
general: 'Главное',
rpcServer: 'RPC Сервер',
mail: 'Электронная почта',
logging: 'Логирование',
processing: 'Настройки эфира',
ingest: 'Ingest',
playlist: 'Плейлист',
storage: 'Storage',
text: 'Текст',
task: 'Task',
output: 'Out',
placeholderPass: 'Password',
help: 'Help',
generalHelp: 'Sometimes it can happen that a file is corrupt but still playable. This can produce a streaming error for all following files. The only solution in this case is to stop ffplayout and start it again.',
stopThreshold: 'The threshold stops ffplayout if it is asynchronous in time above this value. A number below 3 can cause unexpected errors.',
mailHelp: `Send error messages to an email address, such as missing clips, missing or invalid playlist format, etc.. Leave the recipient blank if you don't need this.`,
mailInterval: 'The interval refers to the number of seconds until a new email is sent; the value must be in increments of 10 and not lower then 30 seconds.',
logHelp: 'Adjust logging behavior.',
logDetect: 'Logs an error message if the audio line is silent for 15 seconds during the validation process.',
logIgnore: 'Ignore strings that contain matched lines; the format is a semicolon-separated list.',
processingHelp: 'Default processing for all clips ensures uniqueness.',
processingLogoPath: 'The logo is used only if the path exists; the path is relative to the storage folder.',
processingLogoScale: `Leave logo scale blank if no scaling is needed. The format is 'width:height', for example: '100:-1' for proportional scaling.`,
processingLogoPosition: `Position is specified in the format 'x:y'`,
processingAudioTracks: 'Specify how many audio tracks should be processed.',
processingAudioIndex: 'Which audio line to use, -1 for all.',
processingAudioChannels: 'Set the audio channel count, if audio has more channels than stereo.',
processingCustomFilter: 'Add custom filters to the processing. The filter outputs must end with [c_v_out] for video filters and [c_a_out] for audio filters.',
processingVTTEnable: 'VTT can only be used in HLS mode and only if there are *.vtt files with the same name as the video file.',
processingVTTDummy: 'A placeholder is needed if there is no vtt file.',
ingestHelp: `Run a server for an ingest stream. This stream will override the normal streaming until it is finished. There is only a very simple authentication mechanism, which checks if the stream name is correct.`,
ingestCustomFilter: 'Apply a custom filter to the Ingest stream in the same way as in the Processing section.',
playlistHelp: 'Playlist handling.',
playlistDayStart: 'At what time the playlist should start; leave it blank if the playlist should always start at the beginning.',
playlistLength: 'Target length of the playlist; when it is blank, the real length will not be considered.',
playlistInfinit: 'Loop a single playlist file infinitely.',
storageHelp: 'Storage settings, locations are relative to channel storage.',
storageFiller: 'Use filler to play in place of a missing file or to fill the remaining time to reach a total of 24 hours. It can be a file or folder, with relative path, and will loop when necessary.',
storageExtension: 'Specify which files to search and use.',
storageShuffle: 'Pick files randomly (in folder mode and playlist generation).',
textHelp: 'Overlay text in combination with libzmq for remote text manipulation.',
textFont: 'Relative path to channel storage.',
textFromFile: 'Extraction of text from a filename.',
textStyle: 'Define the drawtext parameters, such as position, color, etc. Posting text over the API will override this.',
textRegex: 'Format file names to extract a title from them.',
taskHelp: 'Run an external program with a given media object. The media object is in JSON format and contains all the information about the current clip. The external program can be a script or a binary, but it should only run for a short time.',
taskPath: 'Path to executable.',
outputHelp: `The final playout encoding, set the settings according to your needs. Use 'stream' mode and adjust the 'Output Parameter' when you want to stream to an RTMP/RTSP/SRT/... server.
In production, don't serve HLS playlists with ffplayout; use Nginx or another web server!`,
outputParam: 'HLS segment and playlist paths are relative.',
restartTile: 'Перезапуск Playout',
restartText: 'Перезапустить ffplayout для применения изменений?',
updatePlayoutSuccess: 'Обновление конфигурации воспроизведения прошло успешно!',
updatePlayoutFailed: 'Обновление конфигурации воспроизведения не удалось!',
forbiddenPlaylistPath: 'Доступ запрещен: Папка плейлиста не может быть открыта.',
noPlayoutConfig: 'Конфигурация воспроизведения не найдена!',
publicPath: 'Public (HLS) Path',
playlistPath: 'Playlist Path',
storagePath: 'Storage Path',
sharedStorage: 'ffplayout работает внутри контейнера, используйте один и тот же корень хранилища для всех каналов!',
},
user: {
title: 'Конфигурация пользователя',
add: 'Добавить пользователя',
delete: 'Удалить пользователя',
name: 'Имя пользователя',
mail: 'Электронная почта',
password: 'Пароль',
newPass: 'Новый пароль',
confirmPass: 'Подтвердите пароль',
save: 'Сохранить',
admin: 'Админ',
deleteNotPossible: 'Delete current user not possible!',
deleteSuccess: 'Удаление пользователя успешно!',
deleteError: 'Удаление пользователя с ошибкой',
addSuccess: 'Добавление пользователя успешно!',
addFailed: 'Добавление пользователя не успешно!',
mismatch: 'Password mismatch!',
updateSuccess: 'Обновление данных о пользователе успешно!',
updateFailed: 'Обновление данных о пользователе не успешно!',
},
}