diff options
| author | 2025-10-25 00:20:16 +0300 | |
|---|---|---|
| committer | 2025-10-24 23:20:16 +0200 | |
| commit | 11863fa00e71b05fe29529ab7588a4b845b6805a (patch) | |
| tree | 17aa0d0b18bce9777050e8bab856e768014e8f42 /app/i18n | |
| parent | 9833d8197686d9614fc5cbd300e0761a520e2e6d (diff) | |
i18n(ru): 100% complete (#8155)
* i18n(ru): 100% complete
* make fix-all
* i18n(ru): 100% complete
* make fix-all
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Diffstat (limited to 'app/i18n')
| -rw-r--r-- | app/i18n/ru/admin.php | 16 | ||||
| -rw-r--r-- | app/i18n/ru/api.php | 22 | ||||
| -rw-r--r-- | app/i18n/ru/conf.php | 86 | ||||
| -rw-r--r-- | app/i18n/ru/feedback.php | 8 | ||||
| -rw-r--r-- | app/i18n/ru/gen.php | 80 | ||||
| -rw-r--r-- | app/i18n/ru/index.php | 56 | ||||
| -rw-r--r-- | app/i18n/ru/sub.php | 80 |
7 files changed, 174 insertions, 174 deletions
diff --git a/app/i18n/ru/admin.php b/app/i18n/ru/admin.php index d472cf84d..3a294faa7 100644 --- a/app/i18n/ru/admin.php +++ b/app/i18n/ru/admin.php @@ -16,7 +16,7 @@ return array( 'allow_anonymous_refresh' => 'Разрешить анонимное обновление статей', 'api_enabled' => 'Позволить <abbr>API</abbr> доступ <small>(необходимо для мобильных приложений and sharing user queries)</small>', 'form' => 'Веб-форма (традиционный, необходим JavaScript)', - 'http' => 'HTTP (advanced: managed by Web server, OIDC, SSO…)', // TODO + 'http' => 'HTTP (продвинутый: управляется веб-сервером, OIDC, SSO…)', 'none' => 'Без аутентификации (небезопасно)', 'title' => 'Аутентификации', 'token' => 'Главный токен аутентификации', @@ -116,9 +116,9 @@ return array( 'description' => 'Описание', 'disabled' => 'Отключены', 'empty_list' => 'Нет установленных расширений', - 'empty_list_help' => 'Check the logs to determine the reason behind the empty extension list.', // TODO + 'empty_list_help' => 'Проверьте логи, чтобы определить причину пустого списка расширений.', 'enabled' => 'Включены', - 'is_compatible' => 'Is compatible', // TODO + 'is_compatible' => 'Совместимо', 'latest' => 'Установлено', 'name' => 'Название', 'no_configure_view' => 'Это расширение не требует настройки.', @@ -135,8 +135,8 @@ return array( '_' => 'Статистика', 'all_feeds' => 'Все подписки', 'category' => 'Категория', - 'date_published' => 'Publication date', // TODO - 'date_received' => 'Received date', // TODO + 'date_published' => 'Дата публикации', + 'date_received' => 'Дата получения', 'entry_count' => 'Количество статей', 'entry_per_category' => 'Статей в категории', 'entry_per_day' => 'Статей за день (за последние 30 дней)', @@ -149,10 +149,10 @@ return array( 'idle' => 'Неактивные ленты', 'main' => 'Основная статистика', 'main_stream' => 'Основной поток', - 'nb_unreads' => 'Number of unread articles', // TODO + 'nb_unreads' => 'Количество непрочитанных статей', 'no_idle' => 'Нет неактивных лент!', 'number_entries' => 'статей: %d', - 'overview' => 'Overview', // TODO + 'overview' => 'Обзор', 'percent_of_total' => '% от всего', 'repartition' => 'Распределение статей: %s', 'status_favorites' => 'В избранном', @@ -161,7 +161,7 @@ return array( 'status_unread' => 'Не прочитано', 'title' => 'Статистика', 'top_feed' => '10 лучших лент', - 'unread_dates' => 'Dates with most unread articles', // TODO + 'unread_dates' => 'Даты с наибольшим количеством непрочитанных статей', ), 'system' => array( '_' => 'Системные настройки', diff --git a/app/i18n/ru/api.php b/app/i18n/ru/api.php index 0021dfa98..5a190d5aa 100644 --- a/app/i18n/ru/api.php +++ b/app/i18n/ru/api.php @@ -12,22 +12,22 @@ return array( 'information' => array( - 'address' => 'Your API address:', // TODO + 'address' => 'Ваш адрес API:', 'output' => array( - 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO - 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO - 'pass' => '✔️ PASS', // TODO - 'unknown-error' => '❌ ', // TODO + 'encoding-support' => '⚠️ ПРЕДУПРЕЖДЕНИЕ: нет поддержки <code>%2F</code>, некоторые клиенты могут не работать!', + 'invalid-configuration' => '⚠️ ПРЕДУПРЕЖДЕНИЕ: Вероятно, неверный базовый URL в ./data/config.php', + 'pass' => '✔️ УСПЕШНО', + 'unknown-error' => '❌ ', // IGNORE ), 'test' => array( - 'fever' => 'Fever API configuration test:', // TODO - 'greader' => 'Google Reader API configuration test:', // TODO + 'fever' => 'Тест конфигурации API Fever:', + 'greader' => 'Тест конфигурации API Google Reader:', ), 'title' => array( - '_' => 'FreshRSS API endpoints', // TODO - 'extension' => 'API for extensions', // TODO - 'fever' => 'Fever compatible API', // TODO - 'greader' => 'Google Reader compatible API', // TODO + '_' => 'API-точки FreshRSS', + 'extension' => 'API для расширений', + 'fever' => 'API, совместимый с Fever', + 'greader' => 'API, совместимый с Google Reader', ), ), ); diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php index 31ed9b3cb..e90f5d7cd 100644 --- a/app/i18n/ru/conf.php +++ b/app/i18n/ru/conf.php @@ -17,7 +17,7 @@ return array( 'help' => 'В индивидуальных настройках лент есть больше опций', 'keep_favourites' => 'Никогда не удалять избранное', 'keep_labels' => 'Никогда не удалять метки', - 'keep_max' => 'Максимальное количество статей', // DIRTY + 'keep_max' => 'Максимальное количество статей', 'keep_min_by_feed' => 'Минимальное количество статей в ленте', 'keep_period' => 'Максимальный возраст статей', 'keep_unreads' => 'Никогда не удалять непрочитанные статьи', @@ -35,7 +35,7 @@ return array( 'darkMode' => array( '_' => 'Автоматический темный режим', 'auto' => 'Авто', - 'help' => 'For compatible themes only', // TODO + 'help' => 'Только для совместимых тем', 'no' => 'Нет', ), 'icon' => array( @@ -61,7 +61,7 @@ return array( 'description' => 'Эта тема устарела и будет недоступна в FreshRSS <a href="https://freshrss.github.io/FreshRSS/en/users/05_Configuration.html#theme" target="_blank">в будущем релизе</a>', ), ), - 'theme_not_available' => 'Тема “%s” больше не доступна. Пожалуйста выберите другю тему.', + 'theme_not_available' => 'Тема “%s” больше не доступна. Пожалуйста выберите другую тему.', 'thumbnail' => array( 'label' => 'Эскиз', 'landscape' => 'Горизонтальный', @@ -100,45 +100,45 @@ return array( ), ), 'mark_read_button' => array( - '_' => '«отметить всё прочитанным» button', // DIRTY - 'big' => 'Big', // TODO - 'none' => 'None', // TODO - 'small' => 'Small', // TODO + '_' => 'Кнопка «отметить всё прочитанным»', + 'big' => 'Большая', + 'none' => 'Отсутствует', + 'small' => 'Маленькая', ), 'notification_timeout' => array( 'bad' => array( - 'label' => 'Show warning banner', // TODO - 'seconds' => 'seconds (at least 1)', // TODO + 'label' => 'Показывать баннер предупреждения', + 'seconds' => 'секунд (не менее 1)', ), 'good' => array( - 'label' => 'Show acknowledgement banner', // TODO - 'seconds' => 'seconds (0 means not shown)', // TODO + 'label' => 'Показывать баннер подтверждения', + 'seconds' => 'секунд (0 означает не показывать)', ), ), 'privacy' => array( - '_' => 'Privacy', // TODO - 'retrieve_extension_list' => 'Retrieve extension list', // TODO + '_' => 'Конфиденциальность', + 'retrieve_extension_list' => 'Получить список расширений', ), 'profile' => array( '_' => 'Настройки профиля', 'api' => array( '_' => 'Настройки API', - 'api_not_set' => 'API password not set', // TODO - 'api_set' => 'API password set', // TODO - 'check_link' => 'Check API status via: <kbd><a href="../api/" target="_blank">%s</a></kbd>', // TODO - 'disabled' => 'The API access is disabled.', // TODO - 'documentation_link' => 'See the <a href="https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target="_blank">documentation and list of known apps</a>', // TODO - 'help' => 'See <a href="http://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target=_blank>documentation</a>', // TODO + 'api_not_set' => 'Пароль API не установлен', + 'api_set' => 'Пароль API установлен', + 'check_link' => 'Проверить статус API через: <kbd><a href="../api/" target="_blank">%s</a></kbd>', + 'disabled' => 'Доступ к API отключен.', + 'documentation_link' => 'См. <a href="https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target="_blank">документацию и список известных приложений</a>', + 'help' => 'См. <a href="http://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target="_blank">документацию</a>', ), - 'change_password' => 'Change password', // TODO - 'confirm_new_password' => 'Confirm new password', // TODO - 'current_password' => 'Current password<br /><small>(for the Web-form login method)</small>', // TODO + 'change_password' => 'Изменить пароль', + 'confirm_new_password' => 'Подтвердить новый пароль', + 'current_password' => 'Текущий пароль<br /><small>(для метода входа через веб-форму)</small>', 'delete' => array( '_' => 'Удаление аккаунта', 'warn' => 'Ваш аккаунт и вся связанная с ним информация будут удалены.', ), 'email' => 'Адрес электронной почты', - 'new_password' => 'New password', // TODO + 'new_password' => 'Новый пароль', 'password_api' => 'Пароль API<br /><small>(например, для мобильных приложений)</small>', 'password_format' => 'Не менее 7 символов', 'title' => 'Профиль', @@ -146,13 +146,13 @@ return array( 'query' => array( '_' => 'Пользовательские запросы', 'deprecated' => 'Этот запрос больше не действителен. Связанная категория или лента была удалена.', - 'description' => 'Description', // TODO + 'description' => 'Описание', 'filter' => array( '_' => 'Применённые фильтры:', 'categories' => 'Отображение по категории', 'feeds' => 'Отображение по ленте', 'order' => 'Сортировать по дате', - 'publish_labels_instead_of_tags' => 'Replace <i>feed tags</i> by <i>user labels</i> in the shared RSS', // TODO + 'publish_labels_instead_of_tags' => 'Заменить <i>теги ленты</i> на <i>пользовательские метки</i> в общей RSS-ленте', 'search' => 'Выражение', 'shareOpml' => 'Включить общий доступ с помощью OPML к соответствующим категориям и лентам', 'shareRss' => 'Включить общий доступ с помощью HTML & RSS', @@ -160,8 +160,8 @@ return array( 'tags' => 'Отображение по метке', 'type' => 'Тип', ), - 'get_A' => 'Show all feeds, also those shown in their category', // TODO - 'get_Z' => 'Show all feeds, also archived ones', // TODO + 'get_A' => 'Показать все ленты, включая те, что отображаются в их категории', + 'get_Z' => 'Показать все ленты, включая архивные', 'get_all' => 'Показать все статьи', 'get_all_labels' => 'Показать все статьи с любыми метками', 'get_category' => 'Показать категорию “%s”', @@ -170,12 +170,12 @@ return array( 'get_important' => 'Отображать статьи из важных лент', 'get_label' => 'Показать статьи с “%s” меткой', 'help' => 'Смотрите <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">документацию по пользовательским запросам и повторному обмену данными с помощью HTML / RSS / OPML</a>.', - 'image_url' => 'Image URL', // TODO + 'image_url' => 'URL изображения', 'name' => 'Название', 'no_filter' => 'Нет фильтров', 'no_queries' => array( - '_' => 'No user queries are saved yet.', // TODO - 'help' => 'See <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">documentation</a>', // TODO + '_' => 'Пользовательские запросы ещё не сохранены.', + 'help' => 'См. <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">документацию</a>', ), 'number' => 'Запрос №%d', 'order_asc' => 'Показывать сначала старые статьи', @@ -184,10 +184,10 @@ return array( 'share' => array( '_' => 'Поделиться запросом по ссылке', 'disabled' => array( - '_' => 'disabled', // TODO - 'title' => 'Sharing', // TODO + '_' => 'отключено', + 'title' => 'Обмен', ), - 'greader' => 'Shareable link to the GReader JSON', // TODO + 'greader' => 'Общая ссылка на JSON GReader', 'help' => 'Дайте эту ссылку, если хотите поделиться этим запросом с кем-либо', 'html' => 'Ссылка доступа на HTML-страницу', 'opml' => 'Ссылка доступа на список лент в формате OPML', @@ -215,7 +215,7 @@ return array( '_' => 'Чтение', 'after_onread' => 'После «отметить всё прочитанным»', 'always_show_favorites' => 'Показывать все статьи в избранном по умолчанию', - 'apply_to_individual_feed' => 'Applies to feeds individually', // TODO + 'apply_to_individual_feed' => 'Применяется к лентам индивидуально', 'article' => array( 'authors_date' => array( '_' => 'Авторы и дата', @@ -231,9 +231,9 @@ return array( ), 'feed_title' => 'Титул ленты', 'icons' => array( - '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO - 'above_title' => 'Above title', // TODO - 'with_authors' => 'In authors and date row', // TODO + '_' => 'Позиция иконок статьи<br /><small>(только в виде для чтения)</small>', + 'above_title' => 'Над заголовком', + 'with_authors' => 'В строке с авторами и датой', ), 'tags' => array( '_' => 'Метки', @@ -250,7 +250,7 @@ return array( 'articles_per_page' => 'Количество статей на странице', 'auto_load_more' => 'Загружать больше статей при достижении низа страницы', 'auto_remove_article' => 'Скрывать статьи по прочтении', - 'confirm_enabled' => 'Показывать диалог подтверждения при выпыполнении действия «отметить всё прочитанным»', + 'confirm_enabled' => 'Показывать диалог подтверждения при выполнении действия «отметить всё прочитанным»', 'display_articles_unfolded' => 'Показывать статьи развёрнутыми по умолчанию', 'display_categories_unfolded' => 'Какие категории развёртывать', 'headline' => array( @@ -275,19 +275,19 @@ return array( 'upon_gone' => 'когда это больше не в новостной ленте', 'upon_reception' => 'по получении статьи', 'when' => 'Отмечать статью прочитанной…', - 'when_same_title_in_category' => 'if an identical title already exists in the top <i>n</i> newest articles of the category', // TODO - 'when_same_title_in_feed' => 'если идентичный заголовок уже существует в верхних <i>n</i> новейших статьях (of the feed)', // DIRTY + 'when_same_title_in_category' => 'если идентичный заголовок уже существует среди <i>n</i> новейших статей категории', + 'when_same_title_in_feed' => 'если идентичный заголовок уже существует среди <i>n</i> новейших статей ленты', ), 'show' => array( '_' => 'Какие статьи отображать', 'active_category' => 'Активную категорию', - 'adaptive' => 'Show unreads if any, all articles otherwise', // TODO + 'adaptive' => 'Показывать непрочитанные, если они есть, иначе все статьи', 'all_articles' => 'Показывать все статьи', 'all_categories' => 'Все категории', 'no_category' => 'Никакие категории', 'remember_categories' => 'Запоминать открытые категории', 'unread' => 'Только непрочитанные', - 'unread_or_favorite' => 'Show unreads and favourites', // TODO + 'unread_or_favorite' => 'Показывать непрочитанные и избранные', ), 'show_fav_unread_help' => 'Также относится к меткам', 'sides_close_article' => 'Нажатия мышью за пределами текста статьи закрывают статью', @@ -297,7 +297,7 @@ return array( 'older_first' => 'Сначала старые', ), 'star' => array( - 'when' => 'Mark an article as favourite…', // TODO + 'when' => 'Отмечать статью избранной…', ), 'sticky_post' => 'Прикрепить статью к верху при открытии', 'title' => 'Чтение', diff --git a/app/i18n/ru/feedback.php b/app/i18n/ru/feedback.php index ec2303a30..39338b98c 100644 --- a/app/i18n/ru/feedback.php +++ b/app/i18n/ru/feedback.php @@ -50,7 +50,7 @@ return array( 'ko' => '%s не может быть включено. <a href="%s">Проверьте логи FreshRSS</a> для подробностей.', 'ok' => '%s теперь включено', ), - 'invalid_view_mode' => 'Invalid view mode “%s”! Fall back to “Normal view”.', // TODO + 'invalid_view_mode' => 'Недопустимый режим просмотра “%s”! Возвращение к “Обычному виду”.', 'no_access' => 'У вас нет доступа к %s', 'not_enabled' => '%s не включено', 'not_found' => '%s не существует', @@ -66,7 +66,7 @@ return array( ), 'profile' => array( 'error' => 'Ваш профиль не может быть изменён', - 'passwords_dont_match' => 'Passwords don’t match', // TODO + 'passwords_dont_match' => 'Пароли не совпадают', 'updated' => 'Ваш профиль изменён', ), 'sub' => array( @@ -97,8 +97,8 @@ return array( 'deleted' => 'Лента удалена', 'error' => 'Лента не может быть изменена', 'favicon' => array( - 'too_large' => 'Uploaded icon is too large. The maximum file size is <em>%s</em>.', // TODO - 'unsupported_format' => 'Unsupported image file format!', // TODO + 'too_large' => 'Загруженный значок слишком большой. Максимальный размер файла: <em>%s</em>.', + 'unsupported_format' => 'Формат файла изображения не поддерживается!', ), 'internal_problem' => 'Новостная лента не может быть добавлена. <a href="%s">Проверьте логи FreshRSS</a> для подробностей. Вы можете попробовать принудительно добавить ленту, добавив <code>#force_feed</code> к URL.', 'invalid_url' => 'URL <em>%s</em> неверный', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 87f916348..7c86d8216 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -16,14 +16,14 @@ return array( 'add' => 'Добавить', 'back_to_rss_feeds' => '← Вернуться к вашим RSS-лентам', 'cancel' => 'Отменить', - 'close' => 'Close', // TODO + 'close' => 'Закрыть', 'create' => 'Создать', - 'delete_all_feeds' => 'Delete all feeds', // TODO - 'delete_errored_feeds' => 'Delete feeds with errors', // TODO + 'delete_all_feeds' => 'Удалить все ленты', + 'delete_errored_feeds' => 'Удалить ленты с ошибками', 'delete_muted_feeds' => 'Удалить заглушенные ленты', 'demote' => 'Понизить', 'disable' => 'Отключить', - 'download' => 'Download', // TODO + 'download' => 'Скачать', 'empty' => 'Опустошить', 'enable' => 'Включить', 'export' => 'Экспортировать', @@ -33,12 +33,12 @@ return array( 'manage' => 'Настроить', 'mark_read' => 'Отметить прочитанным', 'menu' => array( - 'open' => 'Open menu', // TODO + 'open' => 'Открыть меню', ), 'nav_buttons' => array( - 'next' => 'Next article', // TODO - 'prev' => 'Previous article', // TODO - 'up' => 'Go up', // TODO + 'next' => 'Следующая статья', + 'prev' => 'Предыдущая статья', + 'up' => 'Вверх', ), 'open_url' => 'Открыть URL', 'promote' => 'Продвинуть', @@ -62,9 +62,9 @@ return array( 'format' => '<small>Не менее 7 символов</small>', ), 'reauth' => array( - 'header' => 'Reauthentication is required', // TODO - 'tip' => 'You won’t be asked to sign in again for <u>%d minutes</u>', // TODO - 'title' => 'Reauthentication', // TODO + 'header' => 'Требуется повторная аутентификация', + 'tip' => 'Вам не придется снова входить в течение <u>%d минут</u>', + 'title' => 'Повторная аутентификация', ), 'registration' => array( '_' => 'Новый аккаунт', @@ -144,7 +144,7 @@ return array( 'category_empty' => 'Пустая категория', 'confirm_action' => 'Вы уверены, что хотите выполнить это действие? Это нельзя отменить!', 'confirm_action_feed_cat' => 'Вы уверены, что хотите выполнить это действие? Вы потеряете связанные избранные статьи и пользовательские запросы. Это нельзя отменить!', - 'confirm_exit_slider' => 'Are you sure you want to discard unsaved settings?', // TODO + 'confirm_exit_slider' => 'Вы уверены, что хотите отменить несохраненные настройки?', 'feedback' => array( 'body_new_articles' => '%%d новых статей в FreshRSS.', 'body_unread_articles' => '(Непрочитанные: %%d)', @@ -154,7 +154,7 @@ return array( 'labels_empty' => 'Нет меток', 'new_article' => 'Появились новые статьи. Нажмите, чтобы обновить страницу.', 'should_be_activated' => 'JavaScript должен быть включён', - 'unsafe_csp_header' => 'The CSP header in use is unsafe and FreshRSS may be vulnerable to XSS attacks. <a target="_blank" href="https://freshrss.github.io/FreshRSS/en/admins/10_ServerConfig.html#security">See documentation</a>', // TODO + 'unsafe_csp_header' => 'Используемый заголовок CSP небезопасен, и FreshRSS может быть уязвим для XSS-атак. <a target="_blank" href="https://freshrss.github.io/FreshRSS/en/admins/10_ServerConfig.html#security">См. документацию</a>', ), 'lang' => array( 'cs' => 'Čeština', // IGNORE @@ -189,7 +189,7 @@ return array( 'about' => 'О проекте', 'account' => 'Аккаунт', 'admin' => 'Администрирование', - 'advanced_search' => 'Advanced Search', // TODO + 'advanced_search' => 'Расширенный поиск', 'archiving' => 'Архивирование', 'authentication' => 'Аутентификация', 'check_install' => 'Проверка установки', @@ -197,7 +197,7 @@ return array( 'display' => 'Отображение', 'extensions' => 'Расширения', 'logs' => 'Журнал', - 'privacy' => 'Privacy', // TODO + 'privacy' => 'Конфиденциальность', 'queries' => 'Пользовательские запросы', 'reading' => 'Чтение', 'search' => 'Искать слова или #теги', @@ -223,31 +223,31 @@ return array( 'translated' => 'Progress', // IGNORE ), 'search' => array( - 'advanced_search_help' => 'This form helps construct search queries, but manual queries are even more powerful.', // TODO - 'authors' => 'Authors', // TODO - 'categories' => 'Categories', // TODO - 'content' => 'Content', // TODO - 'date_from' => 'From', // TODO - 'date_past' => 'In the past', // TODO - 'date_published' => 'Publication Date', // TODO - 'date_range' => 'Date Range', // TODO - 'date_received' => 'Received Date', // TODO - 'date_to' => 'To', // TODO - 'date_user' => 'User Modification Date', // TODO - 'feeds' => 'Feeds', // TODO - 'free_text' => 'Free Text', // TODO - 'free_text_help' => 'Search both in title and content', // TODO - 'full_documentation' => 'View <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">full search documentation</a>', // TODO - 'labels' => 'My Labels', // TODO - 'multiple_help' => 'Select one or more (hold <kbd>Ctrl</kbd> or <kbd>Cmd</kbd>)', // TODO - 'sources' => 'Sources', // TODO - 'tags' => 'Article Tags', // TODO - 'text' => 'Text Search', // TODO - 'text_help' => 'Multiple lines are combined by a logical <i>or</i>. Also supports <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#regex" target="_blank">regular expressions</a>.', // TODO - 'text_placeholder' => 'Keyword', // TODO - 'title' => 'Title', // TODO - 'url' => 'URL', // TODO - 'user_queries' => 'User Queries', // TODO + 'advanced_search_help' => 'Эта форма помогает создавать поисковые запросы, но ручные запросы ещё мощнее.', + 'authors' => 'Авторы', + 'categories' => 'Категории', + 'content' => 'Содержимое', + 'date_from' => 'С', + 'date_past' => 'За прошедший период', + 'date_published' => 'Дата публикации', + 'date_range' => 'Диапазон дат', + 'date_received' => 'Дата получения', + 'date_to' => 'По', + 'date_user' => 'Дата изменения пользователем', + 'feeds' => 'Ленты', + 'free_text' => 'Свободный текст', + 'free_text_help' => 'Поиск по заголовку и содержимому', + 'full_documentation' => 'См. <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">полную документацию по поиску</a>', + 'labels' => 'Мои метки', + 'multiple_help' => 'Выберите один или несколько элементов (удерживайте <kbd>Ctrl</kbd> или <kbd>Cmd</kbd>)', + 'sources' => 'Источники', + 'tags' => 'Теги статьи', + 'text' => 'Текстовый поиск', + 'text_help' => 'Несколько строк объединяются логическим <i>или</i>. Также поддерживаются <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#regex" target="_blank">регулярные выражения</a>.', + 'text_placeholder' => 'Ключевое слово', + 'title' => 'Заголовок', + 'url' => 'URL', // IGNORE + 'user_queries' => 'Пользовательские запросы', ), 'share' => array( 'Known' => 'Сайты на Known', diff --git a/app/i18n/ru/index.php b/app/i18n/ru/index.php index 96d43b733..c60c9820a 100644 --- a/app/i18n/ru/index.php +++ b/app/i18n/ru/index.php @@ -16,13 +16,13 @@ return array( 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', // IGNORE 'bug_reports' => array( 'environment_information' => array( - '_' => 'System information', // TODO - 'browser' => 'Browser', // TODO - 'database' => 'Database', // TODO - 'server_software' => 'Server software', // TODO - 'version_curl' => 'cURL version', // TODO - 'version_frss' => 'FreshRSS version', // TODO - 'version_php' => 'PHP version', // TODO + '_' => 'Информация о системе', + 'browser' => 'Браузер', + 'database' => 'База данных', + 'server_software' => 'ПО сервера', + 'version_curl' => 'Версия cURL', + 'version_frss' => 'Версия FreshRSS', + 'version_php' => 'Версия PHP', ), ), 'bugs_reports' => 'Баг репорты', @@ -37,9 +37,9 @@ return array( 'feed' => array( 'empty' => 'Нет статей для отображения.', 'received' => array( - 'before_yesterday' => 'Received before yesterday', // TODO - 'today' => 'Received today', // TODO - 'yesterday' => 'Received yesterday', // TODO + 'before_yesterday' => 'Получено раньше, чем вчера', + 'today' => 'Получено сегодня', + 'yesterday' => 'Получено вчера', ), 'rss_of' => 'RSS-лента %s', 'title' => 'Основной поток', @@ -76,28 +76,28 @@ return array( 'rss_view' => 'RSS-лента', 'search_short' => 'Поиск', 'sort' => array( - '_' => 'Sorting criteria', // TODO + '_' => 'Критерии сортировки', 'c' => array( - 'name_asc' => 'Category, feed titles A→Z', // TODO - 'name_desc' => 'Category, feed titles Z→A', // TODO + 'name_asc' => 'Категории, названия лент А→Я', + 'name_desc' => 'Категории, названия лент Я→А', ), - 'date_asc' => 'Publication date 1→9', // TODO - 'date_desc' => 'Publication date 9→1', // TODO + 'date_asc' => 'Дата публикации 1→9', + 'date_desc' => 'Дата публикации 9→1', 'f' => array( - 'name_asc' => 'Feed title A→Z', // TODO - 'name_desc' => 'Feed title Z→A', // TODO + 'name_asc' => 'Названия лент А→Я', + 'name_desc' => 'Названия лент Я→А', ), - 'id_asc' => 'Freshly received last', // TODO - 'id_desc' => 'Freshly received first', // TODO - 'length_asc' => 'Content length 1→9', // TODO - 'length_desc' => 'Content length 9→1', // TODO - 'link_asc' => 'Link A→Z', // TODO - 'link_desc' => 'Link Z→A', // TODO - 'rand' => 'Random order', // TODO - 'title_asc' => 'Title A→Z', // TODO - 'title_desc' => 'Title Z→A', // TODO - 'user_modified_asc' => 'User modified 1→9', // TODO - 'user_modified_desc' => 'User modified 9→1', // TODO + 'id_asc' => 'Недавно полученные последними', + 'id_desc' => 'Недавно полученные первыми', + 'length_asc' => 'Длина контента 1→9', + 'length_desc' => 'Длина контента 9→1', + 'link_asc' => 'Ссылка А→Я', + 'link_desc' => 'Ссылка Я→А', + 'rand' => 'Случайный порядок', + 'title_asc' => 'Заголовок А→Я', + 'title_desc' => 'Заголовок Я→А', + 'user_modified_asc' => 'Изменено пользователем 1→9', + 'user_modified_desc' => 'Изменено пользователем 9→1', ), 'starred' => 'Показать избранное', 'stats' => 'Статистика', diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php index 3abf60146..dec72528a 100644 --- a/app/i18n/ru/sub.php +++ b/app/i18n/ru/sub.php @@ -22,16 +22,16 @@ return array( ), 'category' => array( '_' => 'Категория', - 'add' => 'Добавить категория', + 'add' => 'Добавить категорию', 'archiving' => 'Архивирование', 'dynamic_opml' => array( '_' => 'Динамичный OPML', 'help' => 'Предоставьте ссылку на <a href="http://opml.org/" target="_blank">OPML файл</a> чтобы динамично заполнять эту категорию лентами', ), 'empty' => 'Пустая категория', - 'expand' => 'Expand category', // TODO + 'expand' => 'Развернуть категорию', 'information' => 'Информация', - 'open' => 'Open category', // TODO + 'open' => 'Открыть категорию', 'opml_url' => 'OPML ссылка', 'position' => 'Положение отображения', 'position_help' => 'Влияет на порядок отображения категорий', @@ -50,7 +50,7 @@ return array( 'password' => 'Пароль HTTP', 'username' => 'Имя пользователя HTTP', ), - 'change_favicon' => 'Change…', // TODO + 'change_favicon' => 'Изменить…', 'clear_cache' => 'Всегда очищать кэш', 'content_action' => array( '_' => 'Действие с содержимым, когда извлекается содержимое статьи', @@ -58,7 +58,7 @@ return array( 'prepend' => 'Добавить перед существующим содержимым', 'replace' => 'Заменить существующее содержимое', ), - 'content_retrieval' => 'Content retrieval', // TODO + 'content_retrieval' => 'Получение содержимого', 'css_cookie' => 'Использовать куки при извлечении содержимого статьи', 'css_cookie_help' => 'Пример: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>', 'css_help' => 'Получает усечённые RSS-ленты (осторожно, требует больше времени!)', @@ -69,31 +69,31 @@ return array( ), 'description' => 'Описание', 'empty' => 'Лента пустая. Пожалуйста, убедитесь, что её до сих пор обслуживают.', - 'error' => 'С этой лентой возникла проблема. Пожалуйста, убедитесь, что она всегда досягаема.', // DIRTY + 'error' => 'С этой лентой возникла проблема. Пожалуйста, убедитесь, что она доступна.', 'export-as-opml' => array( 'download' => 'Скачать', - 'help' => 'XML файл (data subset. <a href="https://freshrss.github.io/FreshRSS/en/developers/OPML.html" target="_blank">See documentation</a>)', // DIRTY + 'help' => 'XML файл (подмножество данных. <a href="https://freshrss.github.io/FreshRSS/en/developers/OPML.html" target="_blank">См. документацию</a>)', 'label' => 'Экспортировать как OPML', ), - 'ext_favicon' => 'Set automatically', // TODO - 'favicon_changed_by_ext' => 'The icon has been set by the <b>%s</b> extension.', // TODO + 'ext_favicon' => 'Установить автоматически', + 'favicon_changed_by_ext' => 'Иконка была установлена расширением <b>%s</b>.', 'filteractions' => array( '_' => 'Действия фильтрации', 'help' => 'Введите по одному поисковому фильтру в строке. См. <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">документацию</a>.', - 'view_filter' => 'Preview filters on existing articles (new window)', // TODO + 'view_filter' => 'Предпросмотр фильтров на существующих статьях (новое окно)', ), - 'http_headers' => 'HTTP Headers', // TODO - 'http_headers_help' => 'Headers are separated by a newline, and the name and value of a header are separated by a colon (e.g: <kbd><code>Accept: application/atom+xml<br />Authorization: Bearer some-token</code></kbd>).', // TODO - 'icon' => 'Icon', // TODO + 'http_headers' => 'HTTP-заголовки', + 'http_headers_help' => 'Заголовки разделяются новой строкой, имя и значение заголовка разделяются двоеточием (например: <kbd><code>Accept: application/atom+xml<br />Authorization: Bearer some-token</code></kbd>).', + 'icon' => 'Иконка', 'information' => 'Информация', 'keep_min' => 'Оставлять статей не менее', 'kind' => array( '_' => 'Тип источника ленты', 'html_json' => array( - '_' => 'HTML + XPath + JSON dot notation (JSON in HTML)', // TODO + '_' => 'HTML + XPath + JSON точечная нотация (JSON в HTML)', 'xpath' => array( - '_' => 'XPath for JSON in HTML', // TODO - 'help' => 'Example: <code>normalize-space(//script[@type="application/json"])</code> (single JSON)<br />or: <code>//script[@type="application/ld+json"]</code> (one JSON object per article)', // TODO + '_' => 'XPath для JSON в HTML', + 'help' => 'Пример: <code>normalize-space(//script[@type="application/json"])</code> (один JSON)<br />или: <code>//script[@type="application/ld+json"]</code> (один JSON-объект на статью)', ), ), 'html_xpath' => array( @@ -152,7 +152,7 @@ return array( 'help' => 'JSON с точечной нотацией использует точки между объектами и квадратные скобки для массивов (например: <code>data.items[0].title</code>)', 'item' => array( '_' => 'Найти новые <strong>элементы</strong><br /><small>(самое важное)</small>', - 'help' => 'JSON-путь к массиву, содержащему элементы, например: <code>$</code> or <code>newsItems</code>', // DIRTY + 'help' => 'JSON-путь к массиву, содержащему элементы, например: <code>$</code> или <code>newsItems</code>', ), 'item_author' => 'автор элемента', 'item_categories' => 'теги элемента', @@ -202,23 +202,23 @@ return array( 'moved_category_deleted' => 'Когда вы удаляете категорию, ленты категории автоматически попадают в категорию <em>%s</em>.', 'mute' => array( '_' => 'заглушить', - 'state_is_muted' => 'This feed is muted', // TODO + 'state_is_muted' => 'Эта лента заглушена', ), 'no_selected' => 'Ленты не выбраны.', 'number_entries' => '%d статей', - 'open_feed' => 'Open feed %s', // TODO - 'path_entries_conditions' => 'Conditions for content retrieval', // TODO + 'open_feed' => 'Открыть ленту %s', + 'path_entries_conditions' => 'Условия для получения содержимого', 'priority' => array( '_' => 'Видимость', 'category' => 'Показывать в категории ленты', - 'feed' => 'Show in its feed', // TODO + 'feed' => 'Показывать в своей ленте', 'hidden' => 'Не показывать', 'important' => 'Показывать в важных лентах', 'main_stream' => 'Показывать в основном потоке', ), 'proxy' => 'Указать прокси для извлечения этой ленты', - 'proxy_help' => 'Выберите протокол (например, SOCKS5) и введите адрес прокси (например, <kbd>127.0.0.1:1080</kbd> или <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY - 'reset_favicon' => 'Reset to default', // TODO + 'proxy_help' => 'Выберите протокол (например, SOCKS5) и введите адрес прокси (например, <kbd>127.0.0.1:1080</kbd> или <kbd>username:password@127.0.0.1:1080</kbd>)', + 'reset_favicon' => 'Сбросить на значение по умолчанию', 'selector_preview' => array( 'show_raw' => 'Показать исходный код', 'show_rendered' => 'Показать содержимое', @@ -238,20 +238,20 @@ return array( 'title_add' => 'Добавить RSS-ленту', 'ttl' => 'Не обновлять автоматически чаще, чем каждые', 'unicityCriteria' => array( - '_' => 'Article unicity criteria', // TODO - 'forced' => '<span title="Block the unicity criteria, even when the feed has duplicate articles">forced</span>', // TODO - 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO - 'id' => 'Standard ID (default)', // TODO - 'link' => 'Link', // TODO - 'sha1:content' => 'Content', // TODO - 'sha1:content_published' => 'Content + Date', // TODO - 'sha1:link_published' => 'Link + Date', // TODO - 'sha1:link_published_title' => 'Link + Date + Title', // TODO - 'sha1:link_published_title_content' => 'Link + Date + Title + Content', // TODO - 'sha1:published' => 'Date', // TODO - 'sha1:title' => 'Title', // TODO - 'sha1:title_published' => 'Title + Date', // TODO - 'sha1:title_published_content' => 'Title + Date + Content', // TODO + '_' => 'Критерии уникальности статьи', + 'forced' => '<span title="Блокировать критерии уникальности, даже когда в ленте есть дубликаты статей">принудительно</span>', + 'help' => 'Актуально для некорректных лент.<br />⚠️ Изменение политики создаст дубликаты.', + 'id' => 'Стандартный ID (по умолчанию)', + 'link' => 'Ссылка', + 'sha1:content' => 'Содержимое', + 'sha1:content_published' => 'Содержимое + Дата', + 'sha1:link_published' => 'Ссылка + Дата', + 'sha1:link_published_title' => 'Ссылка + Дата + Заголовок', + 'sha1:link_published_title_content' => 'Ссылка + Дата + Заголовок + Содержимое', + 'sha1:published' => 'Дата', + 'sha1:title' => 'Заголовок', + 'sha1:title_published' => 'Заголовок + Дата', + 'sha1:title_published_content' => 'Заголовок + Дата + Содержимое', ), 'url' => 'URL ленты', 'useragent' => 'Указать юзерагент для извлечения лент', @@ -263,7 +263,7 @@ return array( 'import_export' => array( 'export' => array( '_' => 'Экспорт', - 'sqlite' => 'Download user database as SQLite', // TODO + 'sqlite' => 'Скачать базу данных пользователя в формате SQLite', ), 'export_labelled' => 'Экспортировать ваши помеченные статьи', 'export_opml' => 'Экспортировать список лент (OPML)', @@ -283,7 +283,7 @@ return array( 'idle' => 'Неактивные ленты', 'main' => 'Основная статистика', 'repartition' => 'Расределение статей', - 'unread_dates' => 'Unread dates', // TODO + 'unread_dates' => 'Даты непрочтённых', ), 'subscription_management' => 'Управление подписками', 'subscription_tools' => 'Инструменты подписки', @@ -301,7 +301,7 @@ return array( 'add_dynamic_opml' => 'Добавить динамичный OPML', 'add_feed' => 'Добавить ленту', 'add_label' => 'Добавить метку', - 'add_opml_category' => 'OPML category name', // TODO + 'add_opml_category' => 'Название категории OPML', 'delete_label' => 'Удалить метку', 'feed_management' => 'Управление RSS-лентами', 'subscription_tools' => 'Инструменты подписки', |
