This commit is contained in:
2026-01-01 15:05:29 -06:00
parent 65044a54ef
commit 716007802e
147 changed files with 40416 additions and 27 deletions

View File

@@ -0,0 +1,541 @@
{
"app": {
"name": "Reticulum MeshChatX",
"sync_messages": "Синхронизировать сообщения",
"compose": "Написать",
"messages": "Сообщения",
"nomad_network": "Nomad Network",
"map": "Карта",
"archives": "Архивы",
"propagation_nodes": "Узлы ретрансляции",
"network_visualiser": "Визуализатор сети",
"interfaces": "Интерфейсы",
"tools": "Инструменты",
"settings": "Настройки",
"about": "О программе",
"my_identity": "Моя личность",
"identity_hash": "Хеш личности",
"lxmf_address": "Адрес LXMF",
"announce": "Анонсировать",
"announce_now": "Анонсировать сейчас",
"last_announced": "Последний анонс: {time}",
"last_announced_never": "Последний анонс: Никогда",
"display_name_placeholder": "Отображаемое имя",
"profile": "Профиль",
"manage_identity": "Управляйте своей личностью, участием в транспорте и настройками LXMF по умолчанию.",
"theme": "Тема",
"theme_mode": "Режим {mode}",
"transport": "Транспорт",
"enabled": "Включено",
"disabled": "Выключено",
"propagation": "Ретрансляция",
"local_node_running": "Локальный узел запущен",
"client_only": "Только клиент",
"copy": "Копировать",
"appearance": "Внешний вид",
"appearance_description": "Переключайтесь между светлой и темной темами в любое время.",
"light_theme": "Светлая тема",
"dark_theme": "Темная тема",
"live_preview": "Предпросмотр обновляется мгновенно.",
"realtime": "Реальное время",
"transport_mode": "Режим транспорта",
"transport_description": "Ретранслируйте пути и трафик для ближайших узлов.",
"enable_transport_mode": "Включить режим транспорта",
"transport_toggle_description": "Маршрутизировать анонсы, отвечать на запросы путей и помогать вашей сети оставаться онлайн.",
"requires_restart": "Требуется перезапуск после переключения.",
"show_community_interfaces": "Показывать интерфейсы сообщества",
"community_interfaces_description": "Показывать предустановки, поддерживаемые сообществом, при добавлении новых интерфейсов.",
"reliability": "Надежность",
"messages_description": "Настройте, как MeshChat повторяет или эскалирует неудачные доставки. Контролируйте автоматический повтор, пересылку вложений и механизмы отката для обеспечения надежной доставки сообщений в сети mesh.",
"auto_resend_title": "Автоповтор при анонсе узла",
"auto_resend_description": "Неудачные сообщения будут автоматически отправлены повторно, как только получатель снова выйдет в сеть.",
"retry_attachments_title": "Разрешить повтор для вложений",
"retry_attachments_description": "Крупные вложения также будут отправлены повторно (полезно, если у обоих узлов высокие лимиты).",
"auto_fallback_title": "Автопереключение на узел ретрансляции",
"auto_fallback_description": "Неудачные прямые доставки будут поставлены в очередь на ваш предпочтительный узел ретрансляции.",
"inbound_stamp_cost": "Стоимость входящего штампа",
"inbound_stamp_description": "Требовать штампы Proof-of-Work для сообщений, отправляемых вам напрямую. Более высокие значения требуют больше вычислительной работы от отправителей. Диапазон: 1-254. По умолчанию: 8.",
"browse_nodes": "Список узлов",
"propagation_nodes_description": "Поддерживайте общение, даже когда узлы находятся в офлайне.",
"nodes_info_1": "Узлы ретрансляции надежно хранят сообщения до тех пор, пока получатели снова не синхронизируются.",
"nodes_info_2": "Узлы соединяются друг с другом для распространения зашифрованных данных.",
"nodes_info_3": "Большинство узлов хранят данные около 30 дней, после чего недоставленные сообщения удаляются.",
"run_local_node": "Запустить локальный узел ретрансляции",
"run_local_node_description": "MeshChat будет анонсировать и поддерживать узел, используя этот локальный хеш назначения.",
"preferred_propagation_node": "Предпочтительный узел ретрансляции",
"preferred_node_placeholder": "Хеш назначения, например a39610c89d18bb48c73e429582423c24",
"fallback_node_description": "Сообщения будут отправляться на этот узел, если прямая доставка не удалась.",
"auto_sync_interval": "Интервал автосинхронизации",
"last_synced": "Последняя синхронизация {time} назад.",
"last_synced_never": "Последняя синхронизация: никогда.",
"propagation_stamp_cost": "Стоимость штампа узла ретрансляции",
"propagation_stamp_description": "Требовать штампы Proof-of-Work для сообщений, передаваемых через ваш узел. Более высокие значения требуют больше вычислительной работы. Диапазон: 13-254. По умолчанию: 16. **Примечание:** изменение требует перезапуска приложения.",
"language": "Язык",
"select_language": "Выберите предпочтительный язык.",
"custom_fork_by": "Модифицированная версия от",
"open": "Открыть",
"identity": "Личность",
"lxmf_address_hash": "Хеш адреса LXMF",
"propagation_node_status": "Статус узла ретрансляции",
"last_sync": "Синхронизация: {time} назад",
"last_sync_never": "Синхронизация: никогда",
"syncing": "Синхронизация...",
"synced": "Синхронизировано",
"not_synced": "Не синхронизировано",
"not_configured": "Не настроено",
"toggle_source": "Исходный код",
"audio_calls": "Телефон",
"calls": "Звонки",
"status": "Статус",
"active_call": "Активный звонок",
"incoming": "Входящий",
"outgoing": "Исходящий",
"call": "Звонок",
"calls_plural": "Звонки",
"hop": "прыжок",
"hops_plural": "прыжков",
"hung_up_waiting": "Отключено, ожидание звонка...",
"view_incoming_calls": "Просмотр входящих звонков",
"hangup_all_calls": "Завершить все звонки",
"clear_history": "Очистить историю",
"no_active_calls": "Нет активных звонков",
"incoming_call": "Входящий звонок...",
"outgoing_call": "Исходящий звонок...",
"call_active": "Активен",
"call_ended": "Завершен",
"propagation_node": "Узел ретрансляции",
"sync_now": "Синхронизировать сейчас"
},
"common": {
"open": "Открыть",
"cancel": "Отмена",
"save": "Сохранить",
"delete": "Удалить",
"edit": "Изменить",
"add": "Добавить",
"sync": "Синхронизировать",
"restart_app": "Перезапустить приложение",
"reveal": "Показать",
"refresh": "Обновить",
"vacuum": "Сжать базу",
"auto_recover": "Автовосстановление"
},
"about": {
"title": "О программе",
"version": "v{version}",
"rns_version": "RNS {version}",
"lxmf_version": "LXMF {version}",
"python_version": "Python {version}",
"config_path": "Путь к конфигу",
"database_path": "Путь к базе данных",
"database_size": "Размер базы данных",
"database_health": "Состояние базы данных",
"database_health_description": "Быстрая проверка, настройка WAL и инструменты восстановления базы данных MeshChatX.",
"running_checks": "Выполнение проверок...",
"integrity": "Целостность",
"journal_mode": "Режим журнала",
"wal_autocheckpoint": "WAL авточекпоинт",
"page_size": "Размер страницы",
"pages_free": "Страницы / Свободно",
"free_space_estimate": "Оценка свободного места",
"system_resources": "Системные ресурсы",
"live": "Live",
"memory_rss": "Память (RSS)",
"virtual_memory": "Виртуальная память",
"network_stats": "Статистика сети",
"sent": "Отправлено",
"received": "Получено",
"packets_sent": "Пакетов отправлено",
"packets_received": "Пакетов получено",
"reticulum_stats": "Статистика Reticulum",
"total_paths": "Всего путей",
"announces_per_second": "Анонсов / сек",
"announces_per_minute": "Анонсов / мин",
"announces_per_hour": "Анонсов / час",
"download_activity": "Активность загрузки",
"no_downloads_yet": "Загрузок пока нет",
"runtime_status": "Статус выполнения",
"shared_instance": "Общий экземпляр",
"standalone_instance": "Автономный экземпляр",
"transport_enabled": "Транспорт включен",
"transport_disabled": "Транспорт выключен",
"identity_addresses": "Личность и адреса",
"telephone_address": "Адрес телефона"
},
"interfaces": {
"title": "Интерфейсы",
"manage": "Управление",
"description": "Поиск, фильтрация и экспорт ваших адаптеров Reticulum.",
"add_interface": "Добавить интерфейс",
"import": "Импорт",
"export_all": "Экспорт всех",
"search_placeholder": "Поиск по имени, типу, хосту...",
"all": "Все",
"all_types": "Все типы",
"no_interfaces_found": "Интерфейсы не найдены",
"no_interfaces_description": "Измените параметры поиска или добавьте новый интерфейс.",
"restart_required": "Требуется перезапуск",
"restart_description": "Reticulum MeshChat необходимо перезапустить, чтобы изменения вступили в силу.",
"restart_now": "Перезапустить сейчас"
},
"map": {
"title": "Карта",
"description": "Офлайн-карта с поддержкой MBTiles.",
"upload_mbtiles": "Загрузить MBTiles",
"select_file": "Выбрать файл MBTiles",
"offline_mode": "Офлайн-режим",
"online_mode": "Онлайн-режим",
"attribution": "Атрибуция",
"bounds": "Границы",
"center": "Центр",
"zoom": "Масштаб",
"uploading": "Загрузка...",
"upload_success": "Карта успешно загружена",
"upload_failed": "Ошибка загрузки карты",
"no_map_loaded": "Офлайн-карта не загружена. Загрузите файл .mbtiles для включения офлайн-режима.",
"invalid_file": "Неверный файл MBTiles. Поддерживаются только растровые карты.",
"default_view": "Вид по умолчанию",
"set_as_default": "Установить как вид по умолчанию",
"export_area": "Экспорт области",
"export_instructions": "Выделите область на карте для экспорта.",
"min_zoom": "Мин. масштаб",
"max_zoom": "Макс. масштаб",
"tile_count": "Оценка тайлов",
"start_export": "Начать экспорт",
"exporting": "Экспорт карты...",
"download_ready": "Экспорт завершен",
"download_now": "Скачать MBTiles",
"caching_enabled": "Кэширование тайлов",
"clear_cache": "Очистить кэш",
"cache_cleared": "Кэш тайлов очищен",
"tile_server_url": "URL сервера тайлов",
"tile_server_url_placeholder": "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
"tile_server_url_hint": "Используйте {z}, {x}, {y} для масштаба, столбца, строки",
"tile_server_saved": "URL сервера тайлов сохранен",
"nominatim_api_url": "URL API Nominatim",
"nominatim_api_url_placeholder": "https://nominatim.openstreetmap.org",
"nominatim_api_url_hint": "Базовый URL для сервиса геокодирования Nominatim",
"nominatim_api_saved": "URL API Nominatim сохранен",
"search_placeholder": "Поиск места...",
"search_offline_error": "Поиск доступен только в онлайн-режиме",
"search_connection_error": "Не удалось подключиться к сервису поиска. Проверьте подключение к интернету.",
"search_error": "Ошибка поиска",
"search_no_results": "Результаты не найдены",
"custom_tile_server_unavailable": "Пользовательский сервер тайлов недоступен в офлайн-режиме",
"custom_nominatim_unavailable": "Пользовательский сервер Nominatim недоступен в офлайн-режиме",
"onboarding_title": "Экспорт в MBTiles!",
"onboarding_text": "Используйте инструмент экспорта для загрузки областей карты в виде файлов MBTiles для офлайн-использования.",
"onboarding_got_it": "Понятно"
},
"interface": {
"disable": "Выключить",
"enable": "Включить",
"edit_interface": "Изменить интерфейс",
"export_interface": "Экспорт интерфейса",
"delete_interface": "Удалить интерфейс",
"listen": "Слушать",
"forward": "Пересылать",
"port": "Порт",
"frequency": "Частота",
"bandwidth": "Полоса",
"txpower": "Мощность TX",
"spreading_factor": "SF",
"coding_rate": "Скорость кодирования",
"bitrate": "Битрейт",
"tx": "TX",
"rx": "RX",
"noise": "Шум",
"clients": "Клиенты"
},
"messages": {
"title": "Сообщения",
"conversations": "Чаты",
"announces": "Анонсы",
"search_placeholder": "Поиск по {count} чатам...",
"unread": "Непрочитанные",
"failed": "Ошибки",
"attachments": "Вложения",
"no_messages_yet": "Сообщений пока нет",
"loading_conversations": "Загрузка чатов...",
"no_conversations": "Чаты не найдены",
"discover_peers": "Ищите собеседников во вкладке 'Анонсы'",
"no_search_results": "Ничего не найдено",
"try_another_search": "Попробуйте другой поисковый запрос",
"no_search_results_conversations": "По вашему запросу чатов не найдено.",
"search_placeholder_announces": "Поиск по {count} недавним анонсам...",
"no_peers_discovered": "Собеседники не обнаружены",
"waiting_for_announce": "Ожидание анонсов!",
"no_search_results_peers": "По вашему запросу собеседников не найдено!",
"direct": "Прямая связь",
"hops": "{count} прыжков",
"hops_away": "в {count} прыжках",
"snr": "SNR {snr}",
"stamp_cost": "Стоимость штампа {cost}",
"pop_out_chat": "Открыть в отдельном окне",
"custom_display_name": "Свое имя для контакта",
"send_placeholder": "Введите сообщение...",
"no_messages_in_conversation": "В этом чате пока нет сообщений.",
"say_hello": "Скажите привет!",
"no_active_chat": "Нет активного чата",
"select_peer_or_enter_address": "Выберите собеседника из списка или введите адрес ниже",
"add_files": "Добавить файлы",
"recording": "Запись: {duration}",
"nomad_network_node": "Узел Nomad Network",
"toggle_source": "Исходный код"
},
"nomadnet": {
"remove_favourite": "Удалить из избранного",
"add_favourite": "Добавить в избранное",
"page_archives": "Архивы страницы",
"archive_current_version": "Архивировать текущую версию",
"no_archives_for_this_page": "Нет архивов для этой страницы",
"viewing_archived_version_from": "Просмотр архивной версии от {time}",
"viewing_archived_version": "Просмотр архивной версии",
"load_live": "Загрузить текущую",
"failed_to_load_page": "Ошибка загрузки страницы",
"archived_version_available": "Доступна архивная версия этой страницы.",
"view_archive": "Просмотреть архив",
"no_active_node": "Нет активного узла",
"select_node_to_browse": "Выберите узел, чтобы начать просмотр!",
"open_nomadnet_url": "Открыть URL Nomadnet",
"unknown_node": "Неизвестный узел",
"existing_download_in_progress": "Уже выполняется загрузка. Дождитесь ее завершения перед началом новой.",
"favourites": "Избранное",
"announces": "Анонсы",
"search_favourites_placeholder": "Поиск по {count} избранным...",
"rename": "Переименовать",
"remove": "Удалить",
"no_favourites": "Нет избранного",
"add_nodes_from_announces": "Добавляйте узлы из вкладки анонсов.",
"search_announces": "Поиск анонсов",
"announced_time_ago": "Анонсировано {time} назад",
"block_node": "Заблокировать узел",
"no_announces_yet": "Анонсов пока нет",
"listening_for_peers": "Ожидание узлов в сети.",
"block_node_confirm": "Вы уверены, что хотите заблокировать {name}? Его анонсы будут игнорироваться, и он не будет отображаться в списке.",
"node_blocked_successfully": "Узел успешно заблокирован",
"failed_to_block_node": "Не удалось заблокировать узел",
"rename_favourite": "Переименовать в избранном",
"remove_favourite_confirm": "Вы уверены, что хотите удалить этот узел из избранного?",
"enter_nomadnet_url": "Введите URL Nomadnet",
"archiving_page": "Архивация страницы...",
"page_archived_successfully": "Страница успешно архивирована.",
"identify_confirm": "Вы уверены, что хотите идентифицировать себя для этого узла NomadNetwork? Страница будет перезагружена после отправки вашей личности."
},
"forwarder": {
"title": "LXMF Форвардер",
"description": "Пересылка сообщений с одного адреса на другой с прозрачной обратной маршрутизацией. Похоже на SimpleLogin для LXMF.",
"add_rule": "Добавить правило пересылки",
"forward_to_hash": "Пересылать на хеш",
"destination_placeholder": "Хеш назначения LXMF...",
"source_filter": "Фильтр источника (опционально)",
"source_filter_placeholder": "Пересылать только с этого хеша...",
"add_button": "Добавить правило",
"active_rules": "Активные правила",
"no_rules": "Правила пересылки не настроены.",
"active": "Активно",
"disabled": "Выключено",
"forwarding_to": "Пересылка на: {hash}",
"source_filter_display": "Фильтр источника: {hash}",
"delete_confirm": "Вы уверены, что хотите удалить это правило?"
},
"archives": {
"description": "Поиск и просмотр архивных страниц Nomad Network",
"search_placeholder": "Поиск по содержимому, хешу или пути...",
"loading": "Загрузка архивов...",
"no_archives_found": "Архивы не найдены",
"adjust_filters": "Попробуйте изменить параметры поиска.",
"browse_to_archive": "Архивные страницы появятся здесь после посещения сайтов Nomad Network.",
"page": "Страница",
"pages": "Страницы",
"view": "Просмотр",
"showing_range": "Показано с {start} по {end} из {total} архивов",
"page_of": "Страница {page} из {total_pages}"
},
"tools": {
"utilities": "Утилиты",
"power_tools": "Инструменты для операторов",
"diagnostics_description": "Средства диагностики и прошивки поставляются вместе с MeshChat для устранения неполадок без использования консоли.",
"ping": {
"title": "Ping",
"description": "Тест задержки для любого LXMF хеша с отображением статуса."
},
"rnprobe": {
"title": "RNProbe",
"description": "Зондирование узлов пакетами произвольного размера для проверки связи."
},
"rncp": {
"title": "RNCP",
"description": "Отправка и получение файлов через RNS с отслеживанием прогресса."
},
"rnstatus": {
"title": "RNStatus",
"description": "Статистика интерфейсов и информация о состоянии сети."
},
"translator": {
"title": "Translator",
"description": "Перевод текста через LibreTranslate API или локальный Argos Translate."
},
"forwarder": {
"title": "Forwarder",
"description": "Пересылка LXMF в стиле SimpleLogin с маршрутизацией обратного пути."
},
"rnode_flasher": {
"title": "RNode Flasher",
"description": "Прошивка и обновление адаптеров RNode без использования командной строки."
}
},
"ping": {
"title": "Пинг узлов сети",
"description": "Только пункты назначения {code} отвечают на пинг.",
"destination_hash": "Хеш назначения",
"timeout_seconds": "Тайм-аут пинга (секунды)",
"start_ping": "Запустить пинг",
"stop": "Стоп",
"clear_results": "Очистить результаты",
"drop_path": "Сбросить путь",
"status": "Статус",
"running": "Запущено",
"idle": "Ожидание",
"last_rtt": "Последний RTT",
"last_error": "Последняя ошибка",
"console_output": "Вывод консоли",
"streaming_responses": "Потоковая передача seq-ответов в реальном времени",
"no_pings_yet": "Пингов пока нет. Запустите проверку для сбора данных RTT.",
"invalid_hash": "Неверный хеш назначения!",
"timeout_must_be_number": "Тайм-аут должен быть числом!"
},
"rncp": {
"file_transfer": "Передача файлов",
"title": "RNCP - Reticulum Network Copy",
"description": "Отправка и получение файлов через сеть Reticulum с использованием ресурсов RNS.",
"send_file": "Отправить файл",
"fetch_file": "Получить файл",
"listen": "Прослушивание",
"destination_hash": "Хеш назначения",
"file_path": "Путь к файлу",
"timeout_seconds": "Тайм-аут (секунды)",
"disable_compression": "Отключить сжатие",
"cancel": "Отмена",
"progress": "Прогресс",
"invalid_hash": "Неверный хеш назначения!",
"provide_file_path": "Пожалуйста, укажите путь к файлу!",
"file_sent_successfully": "Файл успешно отправлен. ID передачи: {id}",
"failed_to_send": "Не удалось отправить файл",
"remote_file_path": "Удаленный путь к файлу",
"save_path_optional": "Путь сохранения (опционально)",
"save_path_placeholder": "Оставьте пустым для текущей директории",
"allow_overwrite": "Разрешить перезапись",
"provide_remote_file_path": "Пожалуйста, укажите удаленный путь к файлу!",
"file_fetched_successfully": "Файл успешно получен. Сохранен в: {path}",
"failed_to_fetch": "Не удалось получить файл",
"allowed_hashes": "Разрешенные хеши идентичности (по одному в строке)",
"fetch_jail_path": "Путь изоляции (jail) для получения (опционально)",
"allow_fetch": "Разрешить получение",
"start_listening": "Начать прослушивание",
"stop_listening": "Остановить прослушивание",
"listening_on": "Прослушивание на:",
"provide_allowed_hash": "Пожалуйста, укажите хотя бы один разрешенный хеш идентичности!",
"failed_to_start_listener": "Не удалось запустить прослушиватель"
},
"rnprobe": {
"network_diagnostics": "Диагностика сети",
"title": "RNProbe - Проверка назначения",
"description": "Проверка пунктов назначения с настраиваемым размером пакетов для тестирования связности и измерения RTT.",
"destination_hash": "Хеш назначения",
"full_destination_name": "Полное имя назначения",
"probe_size_bytes": "Размер пакета (байты)",
"number_of_probes": "Количество проверок",
"wait_between_probes": "Ожидание между проверками (секунды)",
"start_probe": "Начать проверку",
"stop": "Стоп",
"clear_results": "Очистить результаты",
"summary": "Итог",
"sent": "Отправлено",
"delivered": "Доставлено",
"timeouts": "Тайм-ауты",
"failed": "Ошибка",
"probe_results": "Результаты проверки",
"probe_responses_realtime": "Ответы проверки в реальном времени",
"no_probes_yet": "Проверок пока нет. Запустите проверку для тестирования связности.",
"probe_number": "Проверка №{number}",
"bytes": "байт",
"hops": "Хопы",
"rtt": "RTT",
"rssi": "RSSI",
"snr": "SNR",
"quality": "Качество",
"timeout": "Тайм-аут",
"invalid_hash": "Неверный хеш назначения!",
"provide_full_name": "Пожалуйста, укажите полное имя назначения!",
"failed_to_probe": "Не удалось проверить назначение"
},
"rnstatus": {
"network_diagnostics": "Диагностика сети",
"title": "RNStatus - Статус сети",
"description": "Просмотр статистики интерфейсов и информации о статусе сети.",
"refresh": "Обновить",
"include_link_stats": "Включить статистику ссылок",
"sort_by": "Сортировать по:",
"none": "Нет",
"bitrate": "Битрейт",
"rx_bytes": "RX байт",
"tx_bytes": "TX байт",
"total_traffic": "Весь трафик",
"announces": "Анонсы",
"active_links": "Активные ссылки: {count}",
"no_interfaces_found": "Интерфейсы не найдены. Нажмите «Обновить» для загрузки статуса.",
"mode": "Режим",
"rx_packets": "RX пакетов",
"tx_packets": "TX пакетов",
"clients": "Клиенты",
"peers_reachable": "доступно",
"noise_floor": "Уровень шума",
"interference": "Помехи",
"cpu_load": "Загрузка ЦП",
"cpu_temp": "Темп. ЦП",
"memory_load": "Загрузка памяти",
"battery": "Батарея",
"network": "Сеть",
"incoming_announces": "Входящие анонсы",
"outgoing_announces": "Исходящие анонсы",
"airtime": "Эфирное время",
"channel_load": "Загрузка канала"
},
"translator": {
"text_translation": "Перевод текста",
"title": "Переводчик",
"description": "Перевод текста с использованием LibreTranslate API или локального Argos Translate.",
"argos_translate": "Argos Translate",
"libretranslate": "LibreTranslate",
"api_server": "Сервер API LibreTranslate",
"api_server_description": "Введите базовый URL вашего сервера LibreTranslate (например, http://localhost:5000)",
"source_language": "Исходный язык",
"auto_detect": "Автоопределение",
"target_language": "Целевой язык",
"select_target_language": "Выберите целевой язык",
"argos_not_detected": "Argos Translate не обнаружен",
"argos_not_detected_desc": "Для использования локального перевода необходимо установить пакет Argos Translate одним из следующих способов:",
"method_pip_venv": "Способ 1: pip (venv)",
"method_pipx": "Способ 2: pipx",
"note_restart_required": "Примечание: После установки может потребоваться перезапуск приложения и установка языковых пакетов через CLI Argos Translate.",
"no_language_packages": "Языковые пакеты не обнаружены",
"no_language_packages_desc": "Argos Translate установлен, но языковые пакеты недоступны. Установите языковые пакеты с помощью одной из следующих команд:",
"install_all_languages": "Установить все языки",
"install_specific_pair": "Установить конкретную языковую пару (пример: с английского на русский)",
"after_install_note": "После установки языковых пакетов нажмите «Обновить языки», чтобы перезагрузить список доступных языков.",
"text_to_translate": "Текст для перевода",
"enter_text_placeholder": "Введите текст для перевода...",
"translate": "Перевести",
"swap": "Поменять местами",
"clear": "Очистить",
"translation": "Перевод",
"source": "Источник",
"detected": "Определено",
"available_languages": "Доступные языки",
"languages_loaded_from": "Языки загружаются из LibreTranslate API или пакетов Argos Translate.",
"refresh_languages": "Обновить языки",
"failed_to_load_languages": "Не удалось загрузить языки. Убедитесь, что LibreTranslate запущен или Argos Translate установлен.",
"copied_to_clipboard": "Скопировано в буфер обмена"
}
}