Update localization files + references (#4556)

* Initial plan

* Add localization support to NameChangeModal component

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Add NameChangeModal translations to English language file

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* fix(i18n): fix localization keys

* chore(test): add i18n test

* chore(i18n): update translation script

* chore(i18n): reorgnize translation keys and update components

* chore: fix linting warnings

* chore(i18n): update all the language files

* feat(i18n): add last live ago i18n key

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
This commit is contained in:
Copilot
2025-09-15 19:27:56 -07:00
committed by GitHub
co-authored by gabek copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Gabe Kangas
parent 401b5897e2
commit 1cf923a5af
46 changed files with 6053 additions and 4639 deletions
+150 -178
View File
@@ -1,179 +1,151 @@
{
"Add your Owncast instance to the Fediverse": "Добавьте свой экземпляр Owncast в Fediverse",
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "Увеличьте свою аудиторию, появляясь в <a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Каталоге Owncast</strong></a>. Это внешний сервис, управляемый проектом Owncast. <a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">Узнайте больше</a>.",
"offlineMessageDescription": "Оффлайн сообщение отображается посетителям ваших страниц, когда вы не транслируете. Поддерживается Markdown.",
"serverUrlRequiredForDirectory": "Вы должны установить <strong>сервер URL</strong> выше, чтобы включить каталог."
},
"emojiPageDescription": "<strong><em>Отсутствует Admin.emojiPageDescription: Пожалуйста, сообщите</em></strong>",
"emojiUploadBulkGuide": "<strong><em>Отсутствует Admin.emojiUploadBulkGuide: пожалуйста, сообщите</em></strong>",
"emojis": "<strong><em>Отсутствует Admin.emojis: Пожалуйста, сообщите</em></strong>",
"uploadNewEmoji": "<strong><em>Отсутствует Admin.uploadNewEmoji: Пожалуйста, сообщите</em></strong>"
},
"Banned Users": "Заблокированные пользователи",
"Bring in moderators to help keep your chat in order": "Привлеките модераторов, которые помогут поддерживать порядок в чате.",
"CPU": "CPU",
"Chat Messages": "Сообщения в чате",
"Chat is disabled": "Чат отключен",
"Chat is offline": "Чат в автономном режиме",
"Chat will be available when the stream is live": "Чат будет доступен во время прямой трансляции.",
"Chat will continue to be disabled until you begin a live stream": "Чат будет отключен до тех пор, пока вы не начнете прямую трансляцию.",
"Click and never miss future streams!": "Кликните и никогда не пропустите будущие стримы!",
"Common": {
"poweredByOwncastVersion": "При поддержке <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Common tasks": "Общие задачи",
"Connected": "Подключен",
"Contribute": "Внести вклад",
"Current stream": "Текущая трансляция",
"Current viewers": "Текущие зрители",
"Disk": "Диск",
"Documentation": "Документация",
"Embed your video onto other sites": "Встраивайте свое видео на другие сайты",
"Enable Owncast social features": "Включите социальные функции Owncast",
"Error": "Ошибка",
"FAQ": "FAQ",
"Find an audience on the Owncast Directory": "Найдите аудиторию в каталоге Owncast",
"Fix your problems": "Устранение проблем",
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "Разрешить",
"blockButton": "Блок",
"deniedDescription": "Чтобы включить push-уведомления от {{hostname}}, перейдите в настройки браузера для этого сайта и включите уведомления. Затем перезагрузите эту страницу, чтобы применить ваши обновленные настройки для этого сайта. <a href='https://owncast.online/docs/notifications'>Узнать больше.</a>",
"deniedTitle": "Уведомления заблокированы на вашем устройстве",
"enabledDescription": "Чтобы отключить push-уведомления от {{hostname}}, перейдите в настройки браузера для этого сайта и отключите уведомления. <a href='https://owncast.online/docs/notifications'>Узнать больше.</a>",
"enabledTitle": "Уведомления включены",
"errorTitle": "Ошибка уведомления браузера",
"iosAddButton": "Добавить",
"iosAddToHomeScreen": "Добавить на главный экран",
"iosAllowPrompt": "Разрешить",
"iosComeBack": "Вернитесь на этот экран и включите уведомления.",
"iosDescription": "Мы предпринимаем несколько дополнительных шагов, чтобы быть в курсе того, что ваши любимые потоки будут в прямом эфире.",
"iosNameAndTap": "Дайте эту ссылку имени и нажмите на новую иконку на домашнем экране",
"iosShareButton": "поделиться",
"iosTitle": "Получать уведомления на iOS",
"learnMore": "Узнать больше",
"mainDescription": "Получайте уведомления прямо в браузере каждый раз, когда этот поток будет работать.",
"permissionWantsTo": "{{hostname}} хочет",
"showNotifications": "Показать уведомления",
"unsupported": "Уведомления браузера не поддерживаются в браузере.",
"unsupportedLocal": "Уведомления браузера не поддерживаются для локальных серверов."
},
"chatOffline": "<strong><em>Отсутствует перевод Frontend.chatOffline: Пожалуйста, сообщите</em></strong>",
"componentError": "Ошибка: {{message}}",
"helloWorld": "<strong><em>Отсутствует Frontend.helloWorld: Пожалуйста, сообщите</em></strong>",
"notificationMessage": "<strong><em>Отсутствует перевод Frontend.notificationMessage: Пожалуйста, сообщите</em></strong>",
"offlineBasic": "Этот поток оффлайн. Возвращайтесь в ближайшее время!",
"offlineFediverseOnly": "Этот поток отключен. <span class='follow-link'>Следите за</span> {{fediverseAccount}} на Fediverse, чтобы узнать, когда {{streamer}} выйдет в эфир в следующий раз.",
"offlineNotifyAndFediverse": "Этот поток отключен. Вы можете <span class='notify-link'>получить уведомление о</span> следующем выходе {{streamer}} в прямой эфир или <span class='follow-link'>следить за</span> {{fediverseAccount}} на Fediverse.",
"offlineNotifyOnly": "Этот поток отключен. <span class='notify-link'>Получите уведомление</span>, когда {{streamer}} появится в следующий раз."
},
"Hardware Info": "Информация об оборудовании",
"Healthy Stream": "Качество трансляции",
"Help configuring my broadcasting software": "Помогите настроить программное обеспечение для трансляции",
"Hidden messages": "Скрытые сообщения",
"Hide": "Скрыть",
"How can we help you?": "Чем мы можем вам помочь?",
"I found a bug": "Я нашел ошибку",
"I have a general question": "У меня есть общий вопрос",
"I want to build add-ons for Owncast": "Я хочу создать дополнения для Owncast",
"I want to configure my owncast instance": "Я хочу настроить свой экземпляр owncast",
"I want to customize my website": "Я хочу настроить свой сайт",
"I want to embed my stream into another site": "Я хочу вставить мой стрим на другой сайт",
"I want to tweak my video output": "Я хочу настроить видеовыход",
"I want to use an external storage provider": "Я хочу использовать внешний поставщик услуг хранения данных",
"IP Bans": "Блокировка IP",
"If you found a bug, then please": "Если вы нашли ошибку, пожалуйста,",
"Inbound Audio Stream": "Входящий аудиопоток",
"Inbound Stream Details": "Информация о входящем потоке",
"Inbound Video Stream": "Входящий видеопоток",
"Info": "Информация",
"Input": "Вход",
"Last 12 hours": "Последние 12 часов",
"Last 24 hours": "Последние 24 часа",
"Last 3 months": "Последние 3 месяца",
"Last 30 days": "Последние 30 дней",
"Last 6 months": "Последние 6 месяцев",
"Last 7 days": "Последние 7 дней",
"Last live ago": "Последний раз в прямом эфире {{timeAgo}} назад",
"Learn how to point your existing software to your new server and start streaming your content": "Узнайте, как настроить имеющееся программное обеспечение на новый сервер и начать потоковую передачу контента.",
"Learn how you can add your Owncast stream to other sites you control": "Узнайте, как добавить свой поток Owncast на другие сайты, которые вы контролируете.",
"Learn more": "Подробнее",
"Learn more about chat moderation here": "Узнайте больше о модерации чата здесь.",
"Level": "Уровень",
"Link": "Ссылка",
"List yourself in the Owncast Directory and show off your stream": {
" Enable it in": "Внесите себя в каталог Owncast и покажите свой поток. Включите его в"
},
"Logs": "Журналы",
"Manage the messages from viewers that show up on your stream": "Управляйте сообщениями от зрителей, которые появляются в вашем стриме.",
"Max viewers last stream": "Максимальное количество зрителей на последнем стриме",
"Max viewers this stream": "Максимальное количество зрителей в этом стриме",
"Memory": "Память",
"Message": "Сообщение",
"Moderators": "Модераторы",
"Most general questions are answered in our": "Ответы на большинство общих вопросов вы найдете в нашем",
"News & Updates from Owncast": "Новости и обновления от Owncast",
"No": "Нет",
"No hardware details have been collected yet": "Информация об оборудовании еще не собрана.",
"No news": "Нет новостей.",
"No stream is active": "Ни один поток не активен",
"No viewer data has been collected yet": "Данные о зрителях еще не собраны.",
"Notify": "Уведомление",
"Other": "Другое",
"Outbound Audio Stream": "Исходящий аудиопоток",
"Outbound Stream Details": "Подробности исходящего стрима",
"Outbound Video Stream": "Исходящий видеопоток",
"Overridden via command line": "Переопределяется через командную строку.",
"Peak viewer count": "Максимальное количество просмотров",
"Playback Health": "Качество воспроизведения",
"Please wait": "Пожалуйста, подождите",
"Read the Docs": "Прочитайте документацию",
"Show": "Показать",
"Skip to footer": "Перейти к нижнему колонтитулу",
"Skip to offline message": "Перейти к оффлайн сообщению",
"Skip to page content": "Перейти к основному содержимому",
"Skip to player": "Перейти к плееру",
"Source": "Источник",
"Stay updated!": "Оставайтесь в курсе!",
"Stream health represents": "Здоровье ручья представляет собой",
"Stream started": "Стрим запущен",
"TROUBLESHOOT": "ПОИСК НЕИСПРАВНОСТЕЙ",
"Testing": {
"itemCount": "<strong><em>Отсутствует тестирование переводов.itemCount: Пожалуйста, сообщите</em></strong>",
"messageCount": "<strong><em>Отсутствует тестирование переводов.messageCount: Пожалуйста, сообщите</em></strong>",
"noPluralKey": "<strong><em>Отсутствует тестирование переводов.noPluralKey: пожалуйста, сообщите</em></strong>",
"simpleKey": "<strong><em>Отсутствует тестирование переводов.simpleKey: пожалуйста, сообщите</em></strong>"
},
"Time": "Время",
"Timestamp": "Временная метка",
"Troubleshooting": "Устранение неполадок",
"Use your broadcasting software": "Используйте свое программное обеспечение для вещания",
"User": "Пользователь",
"View": "Просмотр",
"Viewer Info": "Информация о зрителе",
"Viewers": "Зрителей",
"Visible messages": "Видимые сообщения",
"Visit the": "Перейдите на",
"Warning": "Предупреждение",
"When a stream is active and chat is enabled, connected chat clients will be displayed here": "Когда поток активен и чат включен, здесь будут отображаться подключенные клиенты чата.",
"Yes": "Да",
"You can build your own bots, overlays, tools and add-ons with our": "Вы можете создавать собственные боты, наложения, инструменты и дополнения с помощью нашего",
"You should start one": "Вам стоит начать.",
"developer APIs": "API разработчика.",
"discussions": "обсуждения",
"documentation": "документация",
"let us know": "сообщите нам",
"max viewers": "Максимум зрителей",
"of all known players": {
" Other player status is unknown": "из всех известных плееров. Статус других плееров неизвестен."
},
"offline": "офлайн",
"offline_basic": "Этот поток оффлайн. Возвращайтесь в ближайшее время!",
"or exist in our": "или существовать в нашем",
"settings": "настройки.",
"to configure additional details about your viewers": "чтобы настроить дополнительные сведения о зрителях.",
"to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream": "чтобы ваш экземпляр присоединился к Fediverse, что позволит людям следить за вашей прямой трансляцией, делиться ею и участвовать в ней.",
"used": "используется"
}
"Admin": {
"EditInstanceDetails": {
"directoryDescription": "Увеличьте свою аудиторию, появляясь в <a href=\"https://owncast.directory\" target=\"_blank\" rel=\"noreferrer\"><strong>Каталоге Owncast</strong></a>. Это внешний сервис, управляемый проектом Owncast. <a href=\"https://owncast.online/docs/directory/?source=admin\" target=\"_blank\" rel=\"noopener noreferrer\">Узнайте больше</a>.",
"offlineMessageDescription": "Оффлайн сообщение отображается посетителям ваших страниц, когда вы не транслируете. Поддерживается Markdown.",
"serverUrlRequiredForDirectory": "Вы должны установить <strong>сервер URL</strong> выше, чтобы включить каталог."
},
"HardwareInfo": {
"cpu": "CPU",
"disk": "Диск",
"memory": "Память",
"noDetails": "No hardware details have been collected yet.",
"pleaseWait": "Пожалуйста, подождите",
"title": "Информация об оборудовании",
"used": "используется"
},
"Help": {
"bugPlease": "Если вы нашли ошибку, пожалуйста,",
"buildAddons": "Я хочу создать дополнения для Owncast",
"buildTools": "Вы можете создавать собственные боты, наложения, инструменты и дополнения с помощью нашего",
"commonTasks": "Общие задачи",
"configureBroadcasting": "Помогите настроить программное обеспечение для трансляции",
"configureInstance": "Я хочу настроить свой экземпляр owncast",
"customizeWebsite": "Я хочу настроить свой сайт",
"developerApis": "developer APIs.",
"discussions": "обсуждения",
"documentation": "Документация",
"embedStream": "Я хочу вставить мой стрим на другой сайт",
"faq": "FAQ",
"fixProblems": "Устранение проблем",
"foundBug": "Я нашел ошибку",
"generalAnswered": "Ответы на большинство общих вопросов вы найдете в нашем",
"generalQuestion": "У меня есть общий вопрос",
"learnMore": "Подробнее",
"letUsKnow": "сообщите нам",
"orExist": "или существовать в нашем",
"other": "Другое",
"readDocs": "Прочитайте документацию",
"title": "Чем мы можем вам помочь?",
"troubleshooting": "Устранение неполадок",
"tweakVideo": "Я хочу настроить видеовыход",
"useStorage": "Я хочу использовать внешний поставщик услуг хранения данных"
},
"LogTable": {
"error": "Ошибка",
"info": "Информация",
"level": "Уровень",
"logs": "Журналы",
"message": "Сообщение",
"timestamp": "Временная метка",
"warning": "Предупреждение"
},
"NewsFeed": {
"link": "Ссылка",
"noNews": "No news.",
"title": "Новости и обновления от Owncast"
},
"VideoVariantForm": {
"bitrateDisabledPassthrough": "Bitrate selection is disabled when Video Passthrough is enabled.",
"bitrateGoodForHigh": "Good for high speed & high bitrate viewers.",
"bitrateGoodForMost": "Good for most viewers, bandwidths and resolutions.",
"bitrateGoodForSlow": "Good for slow, mobile and low bitrate viewers.",
"bitrateValueKbps": "{{bitrate}} kbps"
},
"ViewerInfo": {
"currentStream": "Текущая трансляция",
"currentViewers": "Текущие зрители",
"last12Hours": "Последние 12 часов",
"last24Hours": "Последние 24 часа",
"last30Days": "Последние 30 дней",
"last3Months": "Последние 3 месяца",
"last6Months": "Последние 6 месяцев",
"last7Days": "Последние 7 дней",
"maxViewers": "Максимум зрителей",
"maxViewersLastStream": "Максимальное количество зрителей на последнем стриме",
"maxViewersThisStream": "Максимальное количество зрителей в этом стриме",
"noData": "No viewer data has been collected yet.",
"pleaseWait": "Пожалуйста, подождите",
"title": "Информация о зрителе",
"viewers": "Зрителей"
},
"deleteEmoji": "Delete emoji",
"emojiPageDescription": "<strong><em>Отсутствует Admin.emojiPageDescription: Пожалуйста, сообщите</em></strong>",
"emojiUploadBulkGuide": "<strong><em>Отсутствует Admin.emojiUploadBulkGuide: пожалуйста, сообщите</em></strong>",
"emojis": "<strong><em>Отсутствует Admin.emojis: Пожалуйста, сообщите</em></strong>",
"uploadNewEmoji": "<strong><em>Отсутствует Admin.uploadNewEmoji: Пожалуйста, сообщите</em></strong>"
},
"Common": {
"poweredByOwncastVersion": "При поддержке <a href='https://owncast.online'>Owncast v{{versionNumber}}</a>"
},
"Frontend": {
"BrowserNotifyModal": {
"allowButton": "Разрешить",
"blockButton": "Блок",
"deniedDescription": "Чтобы включить push-уведомления от {{hostname}}, перейдите в настройки браузера для этого сайта и включите уведомления. Затем перезагрузите эту страницу, чтобы применить ваши обновленные настройки для этого сайта. <a href='https://owncast.online/docs/notifications'>Узнать больше.</a>",
"deniedTitle": "Уведомления заблокированы на вашем устройстве",
"enabledDescription": "Чтобы отключить push-уведомления от {{hostname}}, перейдите в настройки браузера для этого сайта и отключите уведомления. <a href='https://owncast.online/docs/notifications'>Узнать больше.</a>",
"enabledTitle": "Уведомления включены",
"errorMessage": "Error registering for live notifications: {{message}}. Make sure you're not inside a private browser environment or have previously disabled notifications for this stream.",
"errorTitle": "Ошибка уведомления браузера",
"iosAddButton": "Добавить",
"iosAddToHomeScreen": "Добавить на главный экран",
"iosAllowPrompt": "Разрешить",
"iosComeBack": "Вернитесь на этот экран и включите уведомления.",
"iosDescription": "Мы предпринимаем несколько дополнительных шагов, чтобы быть в курсе того, что ваши любимые потоки будут в прямом эфире.",
"iosNameAndTap": "Дайте эту ссылку имени и нажмите на новую иконку на домашнем экране",
"iosShareButton": "поделиться",
"iosTitle": "Получать уведомления на iOS",
"learnMore": "Узнать больше",
"mainDescription": "Получайте уведомления прямо в браузере каждый раз, когда этот поток будет работать.",
"permissionWantsTo": "{{hostname}} хочет",
"showNotifications": "Показать уведомления",
"unsupported": "Уведомления браузера не поддерживаются в браузере.",
"unsupportedLocal": "Уведомления браузера не поддерживаются для локальных серверов."
},
"Footer": {
"contribute": "Внести вклад",
"documentation": "Документация",
"source": "Источник"
},
"Header": {
"chatOffline": "Чат в автономном режиме",
"chatWillBeAvailable": "Chat will be available when the stream is live.",
"skipToContent": "Перейти к основному содержимому",
"skipToFooter": "Перейти к нижнему колонтитулу",
"skipToOfflineMessage": "Перейти к оффлайн сообщению",
"skipToPlayer": "Перейти к плееру"
},
"NameChangeModal": {
"authInfo": "You can also authenticate an IndieAuth or Fediverse account via the \"Authenticate\" menu.",
"buttonText": "Change name",
"colorLabel": "Your Color",
"description": "Your chat display name is what people see when you send chat messages.",
"overLimit": "Over limit",
"placeholder": "Your chat display name"
},
"chatOffline": "<strong><em>Отсутствует перевод Frontend.chatOffline: Пожалуйста, сообщите</em></strong>",
"componentError": "Ошибка: {{message}}",
"helloWorld": "<strong><em>Отсутствует Frontend.helloWorld: Пожалуйста, сообщите</em></strong>",
"offlineBasic": "Этот поток оффлайн. Возвращайтесь в ближайшее время!",
"offlineFediverseOnly": "Этот поток отключен. <span class='follow-link'>Следите за</span> {{fediverseAccount}} на Fediverse, чтобы узнать, когда {{streamer}} выйдет в эфир в следующий раз.",
"offlineNotifyAndFediverse": "Этот поток отключен. Вы можете <span class='notify-link'>получить уведомление о</span> следующем выходе {{streamer}} в прямой эфир или <span class='follow-link'>следить за</span> {{fediverseAccount}} на Fediverse.",
"offlineNotifyOnly": "Этот поток отключен. <span class='notify-link'>Получите уведомление</span>, когда {{streamer}} появится в следующий раз."
},
"Testing": {
"itemCount": "<strong><em>Отсутствует тестирование переводов.itemCount: Пожалуйста, сообщите</em></strong>",
"messageCount": "<strong><em>Отсутствует тестирование переводов.messageCount: Пожалуйста, сообщите</em></strong>",
"noPluralKey": "<strong><em>Отсутствует тестирование переводов.noPluralKey: пожалуйста, сообщите</em></strong>",
"simpleKey": "<strong><em>Отсутствует тестирование переводов.simpleKey: пожалуйста, сообщите</em></strong>"
}
}