aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGravatar McFev <mcfev@mail.ru> 2025-10-25 00:20:16 +0300
committerGravatar GitHub <noreply@github.com> 2025-10-24 23:20:16 +0200
commit11863fa00e71b05fe29529ab7588a4b845b6805a (patch)
tree17aa0d0b18bce9777050e8bab856e768014e8f42 /app
parent9833d8197686d9614fc5cbd300e0761a520e2e6d (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')
-rw-r--r--app/i18n/ru/admin.php16
-rw-r--r--app/i18n/ru/api.php22
-rw-r--r--app/i18n/ru/conf.php86
-rw-r--r--app/i18n/ru/feedback.php8
-rw-r--r--app/i18n/ru/gen.php80
-rw-r--r--app/i18n/ru/index.php56
-rw-r--r--app/i18n/ru/sub.php80
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 &amp; 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' => 'Инструменты подписки',