aboutsummaryrefslogtreecommitdiff
path: root/app/i18n
diff options
context:
space:
mode:
authorGravatar ibiruai <48332831+ibiruai@users.noreply.github.com> 2021-04-11 14:41:45 +0300
committerGravatar GitHub <noreply@github.com> 2021-04-11 13:41:45 +0200
commit27372b5bb7e8059c8cc4d2ff5c2fe5a0315a0191 (patch)
tree57a9ddad80e5ac7fc6eb85738440f33cfad39843 /app/i18n
parenta57fa9975a5c7276ca61b501502c0789af4983f5 (diff)
i18n Update for Russian language (#3579)
Diffstat (limited to 'app/i18n')
-rw-r--r--app/i18n/ru/admin.php118
-rw-r--r--app/i18n/ru/conf.php334
-rw-r--r--app/i18n/ru/feedback.php170
-rw-r--r--app/i18n/ru/gen.php300
-rw-r--r--app/i18n/ru/index.php98
-rw-r--r--app/i18n/ru/install.php74
-rw-r--r--app/i18n/ru/sub.php204
-rw-r--r--app/i18n/ru/user.php40
8 files changed, 669 insertions, 669 deletions
diff --git a/app/i18n/ru/admin.php b/app/i18n/ru/admin.php
index 6e609ab0e..dd0187695 100644
--- a/app/i18n/ru/admin.php
+++ b/app/i18n/ru/admin.php
@@ -2,22 +2,22 @@
return array(
'auth' => array(
- 'allow_anonymous' => 'Разрешить анонимное чтение статей для пользователя по умолчанию (%s)',
- 'allow_anonymous_refresh' => 'Разрешить анонимное обновление статей',
- 'api_enabled' => 'Включить доступ к <abbr>API</abbr> <small>(необходимо для мобильных приложений)</small>',
- 'form' => 'На основе веб-формы (традиционный, необходим JavaScript)',
- 'http' => 'HTTP (для продвинутых пользователей - по HTTPS)',
- 'none' => 'Без аутентификации (небезопасный)',
+ 'allow_anonymous' => 'Разрешить анонимное чтение статей пользователя по умолчанию (%s)',
+ 'allow_anonymous_refresh' => 'Разрешить анонимную актуализацию статей',
+ 'api_enabled' => 'Позволить <abbr>API</abbr> доступ <small>(необходимо для мобильных приложений)</small>',
+ 'form' => 'Веб-форма (традиционный, необходим JavaScript)',
+ 'http' => 'HTTP (для опытных пользователей с HTTPS)',
+ 'none' => 'Без аутентификации (небезопасно)',
'title' => 'Аутентификации',
'title_reset' => 'Сброс аутентицикации',
'token' => 'Токен аутентификации',
- 'token_help' => 'Разрешает доступ к RSS ленте пользователя по умолчанию без аутентификации:',
- 'type' => 'Метод аутентификации',
+ 'token_help' => 'Разрешает доступ к RSS-лентам пользователя по умолчанию без аутентификации:',
+ 'type' => 'Способ аутентификации',
'unsafe_autologin' => 'Разрешить небезопасный автоматический вход с использованием следующего формата: ',
),
'check_install' => array(
'cache' => array(
- 'nok' => 'Проверьте права доступа к папке <em>./data/cache</em>. Сервер HTTP должен иметь права на запись в эту папку',
+ 'nok' => 'Проверьте права доступа к папке <em>./data/cache</em>. Веб-сервер должен иметь право на запись в эту папку',
'ok' => 'Права на <em>./data/cache</em> в порядке.',
),
'categories' => array(
@@ -37,7 +37,7 @@ return array(
'ok' => 'У вас установлено расширение cURL.',
),
'data' => array(
- 'nok' => 'Проверьте права доступа к папке <em>./data</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>./data</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на <em>./data/</em> в порядке.',
),
'database' => 'Установка базы данных',
@@ -50,7 +50,7 @@ return array(
'ok' => 'Таблица статей (entry) настроена правильно.',
),
'favicons' => array(
- 'nok' => 'Проверьте права доступа к папке <em>./data/favicons</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>./data/favicons</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на папку значков в порядке.',
),
'feeds' => array(
@@ -67,8 +67,8 @@ return array(
'ok' => 'У вас установлена библиотека для работы с JSON.',
),
'mbstring' => array(
- 'nok' => 'Cannot find the recommended mbstring library for Unicode.', // TODO - Translation
- 'ok' => 'You have the recommended mbstring library for Unicode.', // TODO - Translation
+ 'nok' => 'У вас не установлена рекомендуемая библиотека mbstring для Unicode.',
+ 'ok' => 'У вас установлена рекомендуемая библиотека mbstring для Unicode.',
),
'pcre' => array(
'nok' => 'У вас не установлена необходимая библиотека для работы с регулярными выражениями (php-pcre).',
@@ -79,7 +79,7 @@ return array(
'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite, pdo_pgsql).',
),
'php' => array(
- '_' => 'PHP installation', // TODO - Translation
+ '_' => 'Инсталляция PHP',
'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.',
'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.',
),
@@ -89,36 +89,36 @@ return array(
),
'title' => 'Проверка установки и настройки',
'tokens' => array(
- 'nok' => 'Проверьте права доступа к папке <em>./data/tokens</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>./data/tokens</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на папку tokens в порядке.',
),
'users' => array(
- 'nok' => 'Проверьте права доступа к папке <em>./data/users</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>./data/users</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на папку users в порядке.',
),
'zip' => array(
- 'nok' => 'You lack ZIP extension (php-zip package).',
- 'ok' => 'You have the ZIP extension.', // TODO - Translation
+ 'nok' => 'У вас не установлено расширение ZIP (пакет php-zip).',
+ 'ok' => 'У вас установлено расширение ZIP.',
),
),
'extensions' => array(
- 'author' => 'Author', // TODO - Translation
- 'community' => 'Available community extensions', // TODO - Translation
- 'description' => 'Description', // TODO - Translation
+ 'author' => 'Автор',
+ 'community' => 'Доступные расширения сообщества',
+ 'description' => 'Описание',
'disabled' => 'Отключены',
- 'empty_list' => 'Расширения не установлены',
+ 'empty_list' => 'Нет установленных расширений',
'enabled' => 'Включены',
- 'latest' => 'Installed', // TODO - Translation
- 'name' => 'Name', // TODO - Translation
- 'no_configure_view' => 'Это расширение нельзя настроить.',
+ 'latest' => 'Установлено',
+ 'name' => 'Название',
+ 'no_configure_view' => 'Это расширение не требует настройки.',
'system' => array(
'_' => 'Системные расширения',
- 'no_rights' => 'Системные расширения (у вас нет к ним доступа)',
+ 'no_rights' => 'Системное расширение (у вас нет необходимых разрешений)',
),
'title' => 'Расширения',
- 'update' => 'Update available', // TODO - Translation
+ 'update' => 'Доступно обновление',
'user' => 'Расширения пользователя',
- 'version' => 'Version', // TODO - Translation
+ 'version' => 'Версия',
),
'stats' => array(
'_' => 'Статистика',
@@ -131,17 +131,17 @@ return array(
'entry_per_hour' => 'За час (в среднем - %.2f сообщений)',
'entry_per_month' => 'За месяц (в среднем - %.2f сообщений)',
'entry_repartition' => 'Перерасределение статей',
- 'feed' => 'Подписка',
- 'feed_per_category' => 'Подписок в категории',
- 'idle' => 'Неактивные подписки',
+ 'feed' => 'Лента',
+ 'feed_per_category' => 'Лент в категории',
+ 'idle' => 'Неактивные ленты',
'main' => 'Основная статистика',
'main_stream' => 'Основной поток',
'menu' => array(
- 'idle' => 'Неактивные подписки',
+ 'idle' => 'Неактивные ленты',
'main' => 'Основная статистика',
'repartition' => 'Перерасределение статей',
),
- 'no_idle' => 'Нет неактивных подписок!',
+ 'no_idle' => 'Нет неактивных лент!',
'number_entries' => 'статей: %d',
'percent_of_total' => '%% от всего',
'repartition' => 'Перераспределение статей',
@@ -150,19 +150,19 @@ return array(
'status_total' => 'Всего',
'status_unread' => 'Не прочитано',
'title' => 'Статистика',
- 'top_feed' => '10 лучших подписок',
+ 'top_feed' => '10 лучших лент',
),
'system' => array(
'_' => 'Системные настройки',
- 'auto-update-url' => 'Адрес сервера для автоматического обновления',
+ 'auto-update-url' => 'URL сервера для автоматического обновления',
'cookie-duration' => array(
- 'help' => 'in seconds', // TODO - Translation
- 'number' => 'Duration to keep logged in', // TODO - Translation
+ 'help' => 'в секундах',
+ 'number' => 'Оставаться в системе на протяжении',
),
- 'force_email_validation' => 'Force email address validation', // TODO - Translation
- 'instance-name' => 'Название этого сервера',
- 'max-categories' => 'Количество категорий на пользователя',
- 'max-feeds' => 'Количество статей на пользователя',
+ 'force_email_validation' => 'Обязать подтверждать адрес электронной почты',
+ 'instance-name' => 'Название экземпляра',
+ 'max-categories' => 'Максимальное количество категорий на пользователя',
+ 'max-feeds' => 'Максимальное количество лент на пользователя',
'registration' => array(
'help' => '0 означает неограниченное количество пользователей',
'number' => 'Максимальное количество пользователей',
@@ -174,31 +174,31 @@ return array(
'check' => 'Проверить обновления',
'current_version' => 'Ваша текущая версия FreshRSS: %s.',
'last' => 'Последняя проверка: %s',
- 'none' => 'Нечего обновлять',
+ 'none' => 'Нет обновлений',
'title' => 'Обновить систему',
),
'user' => array(
- 'admin' => 'Administrator', // TODO - Translation
- 'article_count' => 'Articles', // TODO - Translation
+ 'admin' => 'Администратор',
+ 'article_count' => 'Статей',
'articles_and_size' => '%s статей (%s)',
- 'back_to_manage' => '← Return to user list', // TODO - Translation
+ 'back_to_manage' => '← Вернуться к списку пользователей',
'create' => 'Создать нового пользователя',
- 'database_size' => 'Database size', // TODO - Translation
- 'delete_users' => 'Delete user', // TODO - Translation
- 'email' => 'Email address', // TODO - Translation
- 'enabled' => 'Enabled', // TODO - Translation
- 'feed_count' => 'Feeds', // TODO - Translation
- 'is_admin' => 'Is admin', // TODO - Translation
+ 'database_size' => 'Размер базы данных',
+ 'delete_users' => 'Удалить пользователя',
+ 'email' => 'Адрес электронной почты',
+ 'enabled' => 'Включён',
+ 'feed_count' => 'Лент',
+ 'is_admin' => 'Является администратором',
'language' => 'Язык',
- 'last_user_activity' => 'Last user activity', // TODO - Translation
- 'list' => 'User list', // TODO - Translation
- 'number' => 'На данный момент создан %d аккаунт',
- 'numbers' => 'На данный момент аккаунтов создано: %d',
- 'password_form' => 'Пароль<br /><small>(для входа через Веб-форму)</small>',
- 'password_format' => 'Минимум 7 символов',
- 'selected' => 'Selected user', // TODO - Translation
+ 'last_user_activity' => 'Последняя активность',
+ 'list' => 'Список пользователей',
+ 'number' => 'Имеется %d созданный аккаунт',
+ 'numbers' => 'Имеется %d созданных аккаунтов',
+ 'password_form' => 'Пароль<br /><small>(для входа через веб-форму)</small>',
+ 'password_format' => 'Не менее 7 символов',
+ 'selected' => 'Выбранный пользователь',
'title' => 'Управление пользователями',
- 'update_users' => 'Update user', // TODO - Translation
+ 'update_users' => 'Изменить пользователя',
'user_list' => 'Список пользователей',
'username' => 'Имя пользователя',
'users' => 'Пользователи',
diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php
index 81a63d156..e9ab0a84f 100644
--- a/app/i18n/ru/conf.php
+++ b/app/i18n/ru/conf.php
@@ -2,215 +2,215 @@
return array(
'archiving' => array(
- '_' => 'Архивация',
+ '_' => 'Архивирование',
'delete_after' => 'Удалять статьи после',
- 'exception' => 'Purge exception', // TODO - Translation
- 'help' => 'Каждую подписку можно настроить более гибко',
- 'keep_favourites' => 'Never delete favourites', // TODO - Translation
- 'keep_labels' => 'Never delete labels', // TODO - Translation
- 'keep_max' => 'Maximum number of articles to keep', // TODO - Translation
- 'keep_min_by_feed' => 'Minimum number of articles to keep per feed', // TODO - Translation
- 'keep_period' => 'Maximum age of articles to keep', // TODO - Translation
- 'keep_unreads' => 'Never delete unread articles', // TODO - Translation
- 'maintenance' => 'Maintenance', // TODO - Translation
+ 'exception' => 'Исключения при очистке',
+ 'help' => 'В индивидуальных настройках лент есть больше опций',
+ 'keep_favourites' => 'Никогда не удалять избранное',
+ 'keep_labels' => 'Никогда не удалять метки',
+ 'keep_max' => 'Максимальное количество статей',
+ 'keep_min_by_feed' => 'Минимальное количество статей в ленте',
+ 'keep_period' => 'Максимальный возраст статей',
+ 'keep_unreads' => 'Никогда не удалять непрочитанные статьи',
+ 'maintenance' => 'Обслуживание',
'optimize' => 'Оптимизировать базу данных',
- 'optimize_help' => 'To do occasionally to reduce the size of the database',
- 'policy' => 'Purge policy', // TODO - Translation
- 'policy_warning' => 'If no purge policy is selected, every article will be kept.', // TODO - Translation
- 'purge_now' => 'Очистить сейчас',
- 'title' => 'Архивация',
- 'ttl' => 'Не обновлять чаще чем',
+ 'optimize_help' => 'Выполняйте время от времени, чтобы уменьшить размер базы данных',
+ 'policy' => 'Политика очистки',
+ 'policy_warning' => 'Если ни одна политика очистки не выбрана, все статьи будут оставлены.',
+ 'purge_now' => 'Запустить очистку сейчас',
+ 'title' => 'Архивирование',
+ 'ttl' => 'Не актуализировать автоматически чаще чем',
),
'display' => array(
- '_' => 'Display', // TODO - Translation
+ '_' => 'Отображение',
'icon' => array(
- 'bottom_line' => 'Bottom line', // TODO - Translation
- 'display_authors' => 'Authors', // TODO - Translation
- 'entry' => 'Article icons', // TODO - Translation
- 'publication_date' => 'Date of publication', // TODO - Translation
- 'related_tags' => 'Related tags',
- 'sharing' => 'Sharing', // TODO - Translation
- 'top_line' => 'Top line', // TODO - Translation
+ 'bottom_line' => 'Нижняя линия',
+ 'display_authors' => 'Авторы',
+ 'entry' => 'Иконки статей',
+ 'publication_date' => 'Дата публикации',
+ 'related_tags' => 'Связанные метки',
+ 'sharing' => 'Поделиться',
+ 'top_line' => 'Верхняя линия',
),
'language' => 'Язык',
'notif_html5' => array(
- 'seconds' => 'seconds (0 means no timeout)', // TODO - Translation
- 'timeout' => 'HTML5 notification timeout', // TODO - Translation
+ 'seconds' => 'секунд (0 - нет таймаута)',
+ 'timeout' => 'Таймаут уведомлений HTML5',
),
- 'show_nav_buttons' => 'Show the navigation buttons', // TODO - Translation
+ 'show_nav_buttons' => 'Показать кнопки навигации',
'theme' => 'Тема',
- 'title' => 'Display', // TODO - Translation
+ 'title' => 'Отображение',
'width' => array(
- 'content' => 'Content width', // TODO - Translation
- 'large' => 'Wide', // TODO - Translation
- 'medium' => 'Medium', // TODO - Translation
- 'no_limit' => 'Full Width', // TODO - Translation
- 'thin' => 'Narrow', // TODO - Translation
+ 'content' => 'Ширина содержимого',
+ 'large' => 'Широкое',
+ 'medium' => 'Среднее',
+ 'no_limit' => 'Во всю ширину',
+ 'thin' => 'Узкое',
),
),
'profile' => array(
- '_' => 'Profile management', // TODO - Translation
- 'api' => 'API management', // TODO - Translation
+ '_' => 'Настройки профиля',
+ 'api' => 'Настройки API',
'delete' => array(
- '_' => 'Account deletion', // TODO - Translation
- 'warn' => 'Your account and all the related data will be deleted.',
+ '_' => 'Удаление аккаунта',
+ 'warn' => 'Ваш аккаунт и вся связанная с ним информация будут удалены.',
),
- 'email' => 'Email address', // TODO - Translation
- 'password_api' => 'Password API<br /><small>(e.g., for mobile apps)</small>',
- 'password_form' => 'Password<br /><small>(for the Web-form login method)</small>', // TODO - Translation
- 'password_format' => 'At least 7 characters', // TODO - Translation
- 'title' => 'Profile', // TODO - Translation
+ 'email' => 'Адрес электронной почты',
+ 'password_api' => 'Пароль API<br /><small>(например, для мобильных приложений)</small>',
+ 'password_form' => 'Пароль<br /><small>(для входа через веб-форму)</small>',
+ 'password_format' => 'Не менее 7 символов',
+ 'title' => 'Профиль',
),
'query' => array(
- '_' => 'User queries', // TODO - Translation
- 'deprecated' => 'This query is no longer valid. The referenced category or feed has been deleted.', // TODO - Translation
- 'display' => 'Display user query results', // TODO - Translation
+ '_' => 'Пользовательские запросы',
+ 'deprecated' => 'Этот запрос больше не действителен. Связанная категория или лента была удалена.',
+ 'display' => 'Показать результаты пользовательского запроса',
'filter' => array(
- '_' => 'Filter applied:', // TODO - Translation
- 'categories' => 'Display by category', // TODO - Translation
- 'feeds' => 'Display by feed', // TODO - Translation
- 'order' => 'Sort by date', // TODO - Translation
- 'search' => 'Expression', // TODO - Translation
- 'state' => 'State', // TODO - Translation
- 'tags' => 'Display by tag', // TODO - Translation
- 'type' => 'Type', // TODO - Translation
+ '_' => 'Применённые фильтры:',
+ 'categories' => 'Отображение по категории',
+ 'feeds' => 'Отображение по ленте',
+ 'order' => 'Сортировать по дате',
+ 'search' => 'Выражение',
+ 'state' => 'Состояние',
+ 'tags' => 'Отображение по метке',
+ 'type' => 'Тип',
),
- 'get_all' => 'Display all articles', // TODO - Translation
- 'get_category' => 'Display "%s" category', // TODO - Translation
- 'get_favorite' => 'Display favorite articles',
- 'get_feed' => 'Display "%s" feed', // TODO - Translation
- 'get_tag' => 'Display "%s" label', // TODO - Translation
- 'name' => 'Name', // TODO - Translation
- 'no_filter' => 'No filter', // TODO - Translation
- 'none' => 'You haven’t created any user query yet.',
- 'number' => 'Query n°%d', // TODO - Translation
- 'order_asc' => 'Display oldest articles first', // TODO - Translation
- 'order_desc' => 'Display newest articles first', // TODO - Translation
- 'remove' => 'Remove user query', // TODO - Translation
- 'search' => 'Search for "%s"', // TODO - Translation
- 'state_0' => 'Display all articles', // TODO - Translation
- 'state_1' => 'Display read articles', // TODO - Translation
- 'state_2' => 'Display unread articles', // TODO - Translation
- 'state_3' => 'Display all articles', // TODO - Translation
- 'state_4' => 'Display favorite articles',
- 'state_5' => 'Display read favorite articles',
- 'state_6' => 'Display unread favorite articles',
- 'state_7' => 'Display favorite articles',
- 'state_8' => 'Display not favorite articles',
- 'state_9' => 'Display read not favorite articles',
- 'state_10' => 'Display unread not favorite articles',
- 'state_11' => 'Display not favorite articles',
- 'state_12' => 'Display all articles', // TODO - Translation
- 'state_13' => 'Display read articles', // TODO - Translation
- 'state_14' => 'Display unread articles', // TODO - Translation
- 'state_15' => 'Display all articles', // TODO - Translation
- 'title' => 'User queries', // TODO - Translation
+ 'get_all' => 'Показать все статьи',
+ 'get_category' => 'Показать категорию "%s"',
+ 'get_favorite' => 'Показать избранные статьи',
+ 'get_feed' => 'Показать ленту "%s"',
+ 'get_tag' => 'Показать метку "%s"',
+ 'name' => 'Название',
+ 'no_filter' => 'Нет фильтров',
+ 'none' => 'Вы ещё не создавали пользовательские запросы.',
+ 'number' => 'Запрос №%d',
+ 'order_asc' => 'Показывать сначала старые статьи',
+ 'order_desc' => 'Показывать сначала новые статьи',
+ 'remove' => 'Удалить пользовательский запрос',
+ 'search' => 'Искать "%s"',
+ 'state_0' => 'Показать все статьи',
+ 'state_1' => 'Показать прочитанные статьи',
+ 'state_2' => 'Показать непрочитанные статьи',
+ 'state_3' => 'Показать все статьи',
+ 'state_4' => 'Показать избранные статьи',
+ 'state_5' => 'Показать прочитанные избранные статьи',
+ 'state_6' => 'Показать непрочитанные избранные статьи',
+ 'state_7' => 'Показать избранные статьи',
+ 'state_8' => 'Показать неизбранные статьи',
+ 'state_9' => 'Показать прочитанные неизбранные статьи',
+ 'state_10' => 'Показать непрочитанные неизбранные статьи',
+ 'state_11' => 'Показать неизбранные статьи',
+ 'state_12' => 'Показать все статьи',
+ 'state_13' => 'Показать прочитанные статьи',
+ 'state_14' => 'Показать непрочитанные статьи',
+ 'state_15' => 'Показать все статьи',
+ 'title' => 'Пользовательские запросы',
),
'reading' => array(
- '_' => 'Reading', // TODO - Translation
- 'after_onread' => 'After “mark all as read”,', // TODO - Translation
- 'always_show_favorites' => 'Show all articles in favourites by default', // TODO - Translation
- 'articles_per_page' => 'Number of articles per page', // TODO - Translation
- 'auto_load_more' => 'Load next articles at the page bottom',
- 'auto_remove_article' => 'Hide articles after reading', // TODO - Translation
- 'confirm_enabled' => 'Display a confirmation dialog on “mark all as read” actions', // TODO - Translation
- 'display_articles_unfolded' => 'Show articles unfolded by default', // TODO - Translation
- 'display_categories_unfolded' => 'Categories to unfold', // TODO - Translation
- 'hide_read_feeds' => 'Hide categories & feeds with no unread article (does not work with “Show all articles” configuration)',
- 'img_with_lazyload' => 'Use "lazy load" mode to load pictures', // TODO - Translation
- 'jump_next' => 'jump to next unread sibling (feed or category)', // TODO - Translation
- 'mark_updated_article_unread' => 'Mark updated articles as unread', // TODO - Translation
- 'number_divided_when_reader' => 'Divide by 2 in the reading view.', // TODO - Translation
+ '_' => 'Чтение',
+ 'after_onread' => 'После «отметить всё прочитанным»',
+ 'always_show_favorites' => 'Показывать все статьи в избранном по умолчанию',
+ 'articles_per_page' => 'Количество статей на странице',
+ 'auto_load_more' => 'Загружать больше статей при достижении низа страницы',
+ 'auto_remove_article' => 'Скрывать статьи по прочтении',
+ 'confirm_enabled' => 'Показывать диалог подтверждения при выпыполнении действия «отметить всё прочитанным»',
+ 'display_articles_unfolded' => 'Показывать статьи развёрнутыми по умолчанию',
+ 'display_categories_unfolded' => 'Какие категории развёртывать',
+ 'hide_read_feeds' => 'Скрывать категории и ленты без непрочитанных статей (не работает с «Показывать все статьи»)',
+ 'img_with_lazyload' => 'Использовать режим "ленивой загрузки" для загрузки картинок',
+ 'jump_next' => 'перейти к следующей ленте или категории',
+ 'mark_updated_article_unread' => 'Отмечать обновлённые статьи непрочитанными',
+ 'number_divided_when_reader' => 'Делится на 2 в виде для чтения.',
'read' => array(
- 'article_open_on_website' => 'when the article is opened on its original website', // TODO - Translation
- 'article_viewed' => 'when the article is viewed', // TODO - Translation
- 'scroll' => 'while scrolling', // TODO - Translation
- 'upon_reception' => 'upon reception of the article',
- 'when' => 'Mark an article as read…', // TODO - Translation
+ 'article_open_on_website' => 'когда статья открывается на её сайте',
+ 'article_viewed' => 'когда статья просматривается',
+ 'scroll' => 'во время прокрутки',
+ 'upon_reception' => 'по получении статьи',
+ 'when' => 'Отмечать статью прочитанной…',
),
'show' => array(
- '_' => 'Articles to display', // TODO - Translation
- 'active_category' => 'Active category', // TODO - Translation
- 'adaptive' => 'Adjust showing', // TODO - Translation
- 'all_articles' => 'Show all articles', // TODO - Translation
- 'all_categories' => 'All categories', // TODO - Translation
- 'no_category' => 'No category', // TODO - Translation
- 'remember_categories' => 'Remember open categories', // TODO - Translation
- 'unread' => 'Show only unread', // TODO - Translation
+ '_' => 'Какие статьи отображать',
+ 'active_category' => 'Активная категория',
+ 'adaptive' => 'Адаптивно',
+ 'all_articles' => 'Показывать все статьи',
+ 'all_categories' => 'Все категории',
+ 'no_category' => 'Никаких категорий',
+ 'remember_categories' => 'Запоминать открытые категории',
+ 'unread' => 'Только непрочитанные',
),
- 'show_fav_unread_help' => 'Applies also on labels', // TODO - Translation
- 'sides_close_article' => 'Clicking outside of article text area closes the article', // TODO - Translation
+ 'show_fav_unread_help' => 'Также относится к меткам',
+ 'sides_close_article' => 'Нажатия мышью за пределами текста статьи закрывают статью',
'sort' => array(
- '_' => 'Sort order', // TODO - Translation
- 'newer_first' => 'Newer first',
- 'older_first' => 'Oldest first', // TODO - Translation
+ '_' => 'Порядок сортировки',
+ 'newer_first' => 'Сначала новые',
+ 'older_first' => 'Сначала старые',
),
- 'sticky_post' => 'Stick the article to the top when opened', // TODO - Translation
- 'title' => 'Reading', // TODO - Translation
+ 'sticky_post' => 'Прикрепить статью к верху при открытии',
+ 'title' => 'Чтение',
'view' => array(
- 'default' => 'Default view', // TODO - Translation
- 'global' => 'Global view', // TODO - Translation
- 'normal' => 'Normal view', // TODO - Translation
- 'reader' => 'Reading view', // TODO - Translation
+ 'default' => 'Вид по умолчанию',
+ 'global' => 'Глобальный вид',
+ 'normal' => 'Обычный вид',
+ 'reader' => 'Вид для чтения',
),
),
'sharing' => array(
- '_' => 'Sharing', // TODO - Translation
- 'add' => 'Add a sharing method', // TODO - Translation
+ '_' => 'Поделиться',
+ 'add' => 'Добавить способ поделиться',
'blogotext' => 'Blogotext', // TODO - Translation
'diaspora' => 'Diaspora*', // TODO - Translation
- 'email' => 'Email', // TODO - Translation
+ 'email' => 'Электронная почта',
'facebook' => 'Facebook', // TODO - Translation
- 'more_information' => 'More information', // TODO - Translation
- 'print' => 'Print', // TODO - Translation
- 'remove' => 'Remove sharing method', // TODO - Translation
+ 'more_information' => 'Больше информации',
+ 'print' => 'Распечатать',
+ 'remove' => 'Удалить способ поделиться',
'shaarli' => 'Shaarli', // TODO - Translation
- 'share_name' => 'Share name to display', // TODO - Translation
- 'share_url' => 'Share URL to use', // TODO - Translation
+ 'share_name' => 'Отображаемое имя',
+ 'share_url' => 'Используемый URL',
'title' => 'Sharing', // TODO - Translation
'twitter' => 'Twitter', // TODO - Translation
'wallabag' => 'wallabag', // TODO - Translation
),
'shortcut' => array(
- '_' => 'Shortcuts', // TODO - Translation
- 'article_action' => 'Article actions', // TODO - Translation
- 'auto_share' => 'Share', // TODO - Translation
- 'auto_share_help' => 'If there is only one sharing mode, it is used. Else modes are accessible by their number.',
- 'close_dropdown' => 'Close menus', // TODO - Translation
- 'collapse_article' => 'Collapse', // TODO - Translation
- 'first_article' => 'Skip to the first article',
- 'focus_search' => 'Access search box', // TODO - Translation
- 'global_view' => 'Switch to global view', // TODO - Translation
- 'help' => 'Display documentation', // TODO - Translation
- 'javascript' => 'JavaScript must be enabled in order to use shortcuts', // TODO - Translation
- 'last_article' => 'Skip to the last article',
- 'load_more' => 'Load more articles', // TODO - Translation
- 'mark_favorite' => 'Mark as favourite',
- 'mark_read' => 'Mark as read',
- 'navigation' => 'Navigation', // TODO - Translation
- 'navigation_help' => 'With the <kbd>⇧ Shift</kbd> modifier, navigation shortcuts apply on feeds.<br/>With the <kbd>Alt ⎇</kbd> modifier, navigation shortcuts apply on categories.', // TODO - Translation
- 'navigation_no_mod_help' => 'The following navigation shortcuts do not support modifiers.', // TODO - Translation
- 'next_article' => 'Skip to the next article',
- 'non_standard' => 'Some keys (<kbd>%s</kbd>) may not work as shortcuts.', // TODO - Translation
- 'normal_view' => 'Switch to normal view', // TODO - Translation
- 'other_action' => 'Other actions', // TODO - Translation
- 'previous_article' => 'Skip to the previous article',
- 'reading_view' => 'Switch to reading view', // TODO - Translation
- 'rss_view' => 'Open RSS view in a new tab', // TODO - Translation
- 'see_on_website' => 'See on original website', // TODO - Translation
- 'shift_for_all_read' => '+ <kbd>Alt ⎇</kbd> to mark previous articles as read<br />+ <kbd>⇧ Shift</kbd> to mark all articles as read', // TODO - Translation
- 'skip_next_article' => 'Focus next without opening', // TODO - Translation
- 'skip_previous_article' => 'Focus previous without opening', // TODO - Translation
- 'title' => 'Shortcuts', // TODO - Translation
- 'toggle_media' => 'Play/pause media', // TODO - Translation
- 'user_filter' => 'Access user filters',
- 'user_filter_help' => 'If there is only one user filter, it is used. Else filters are accessible by their number.',
- 'views' => 'Views', // TODO - Translation
+ '_' => 'Горячие клавиши',
+ 'article_action' => 'Действия со статьями',
+ 'auto_share' => 'Поделиться',
+ 'auto_share_help' => 'Если способ единственный, он будет вызван. Иначе способы доступны по их номеру.',
+ 'close_dropdown' => 'Закрыть меню',
+ 'collapse_article' => 'Схлопнуть',
+ 'first_article' => 'Открыть первую статью',
+ 'focus_search' => 'К строке поиска',
+ 'global_view' => 'Переключиться на глобальный вид',
+ 'help' => 'Показать документацию',
+ 'javascript' => 'JavaScript должен быть включён для использования горячих клавиш',
+ 'last_article' => 'Открыть последнюю статью',
+ 'load_more' => 'Загрузить больше статей',
+ 'mark_favorite' => 'Отметить избранной',
+ 'mark_read' => 'Отметить прочитанной',
+ 'navigation' => 'Навигация',
+ 'navigation_help' => 'С модификатором <kbd>⇧ Shift</kbd> навигационные горячие клавиши применяются к лентам.<br/>С модификатором <kbd>Alt ⎇</kbd> навигационные горячие клавиши применяются к категориям.',
+ 'navigation_no_mod_help' => 'Следующие навигационные горячие клавиши не поддерживают модификаторы.',
+ 'next_article' => 'Открыть следующую статью',
+ 'non_standard' => 'Некоторые клавиши (<kbd>%s</kbd>) не могут быть использованы как горячие клавиши.',
+ 'normal_view' => 'Переключиться на обычный вид',
+ 'other_action' => 'Другие действия',
+ 'previous_article' => 'Открыть предыдущую статью',
+ 'reading_view' => 'Переключиться на вид для чтения',
+ 'rss_view' => 'Открыть вид RSS в новой вкладке',
+ 'see_on_website' => 'Посмотреть на сайте',
+ 'shift_for_all_read' => '+ <kbd>Alt ⎇</kbd>, чтобы отметить предыдущие статьи прочитанными<br />+ <kbd>⇧ Shift</kbd>, чтобы отметить все статьи прочитанными',
+ 'skip_next_article' => 'Перейти к следующей, не раскрывая',
+ 'skip_previous_article' => 'Перейти к предыдущей, не раскрывая',
+ 'title' => 'Горячие клавиши',
+ 'toggle_media' => 'Играть/приостановить медиаконтент',
+ 'user_filter' => 'К пользовательским запросам',
+ 'user_filter_help' => 'Если запрос единственный, он будет вызван. Иначе запросы доступны по их номеру.',
+ 'views' => 'Виды',
),
'user' => array(
- 'articles_and_size' => '%s articles (%s)', // TODO - Translation
- 'current' => 'Current user', // TODO - Translation
- 'is_admin' => 'is administrator', // TODO - Translation
- 'users' => 'Users', // TODO - Translation
+ 'articles_and_size' => '%s статей (%s)',
+ 'current' => 'Текущий пользователь',
+ 'is_admin' => 'является администратором',
+ 'users' => 'Пользователи',
),
);
diff --git a/app/i18n/ru/feedback.php b/app/i18n/ru/feedback.php
index 37ff57d9d..0200e1346 100644
--- a/app/i18n/ru/feedback.php
+++ b/app/i18n/ru/feedback.php
@@ -2,138 +2,138 @@
return array(
'access' => array(
- 'denied' => 'You don’t have permission to access this page', // TODO - Translation
- 'not_found' => 'You are looking for a page that doesn’t exist', // TODO - Translation
+ 'denied' => 'У вас нет разрешения на доступ к этой странице',
+ 'not_found' => 'Данной страницы не существует',
),
'admin' => array(
- 'optimization_complete' => 'Optimisation complete',
+ 'optimization_complete' => 'Оптимизация завершена',
),
'api' => array(
'password' => array(
- 'failed' => 'Your password cannot be modified', // TODO - Translation
- 'updated' => 'Your password has been modified', // TODO - Translation
+ 'failed' => 'Ваш пароль не может быть изменён',
+ 'updated' => 'Ваш пароль изменён',
),
),
'auth' => array(
'form' => array(
- 'not_set' => 'A problem occurred during authentication system configuration. Please try again later.', // TODO - Translation
- 'set' => 'Form is now your default authentication system.', // TODO - Translation
+ 'not_set' => 'Во время конфигурации системы аутентификации возникла проблема. Пожалуйста, попробуйте позже.',
+ 'set' => 'Форма теперь является вашей системой аутентификации по умолчанию.',
),
'login' => array(
- 'invalid' => 'Login is invalid', // TODO - Translation
- 'success' => 'You are connected', // TODO - Translation
+ 'invalid' => 'Неверный логин',
+ 'success' => 'Вы вошли',
),
'logout' => array(
- 'success' => 'You are disconnected', // TODO - Translation
+ 'success' => 'Вы вышли',
),
- 'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.', // TODO - Translation
+ 'no_password_set' => 'Не установлен пароль администратора. Эта функция недоступна.',
),
'conf' => array(
- 'error' => 'An error occurred while saving configuration', // TODO - Translation
- 'query_created' => 'Query "%s" has been created.', // TODO - Translation
- 'shortcuts_updated' => 'Shortcuts have been updated', // TODO - Translation
- 'updated' => 'Configuration has been updated', // TODO - Translation
+ 'error' => 'Во время сохранения конфигурации возникла ошибка',
+ 'query_created' => 'Запрос "%s" создан.',
+ 'shortcuts_updated' => 'Горячие клавиши изменены',
+ 'updated' => 'Конфигурация изменена',
),
'extensions' => array(
- 'already_enabled' => '%s is already enabled', // TODO - Translation
- 'cannot_remove' => '%s cannot be removed', // TODO - Translation
+ 'already_enabled' => '%s уже включено',
+ 'cannot_remove' => '%s не может быть удалено',
'disable' => array(
- 'ko' => '%s cannot be disabled. <a href="%s">Check FreshRSS logs</a> for details.', // TODO - Translation
- 'ok' => '%s is now disabled', // TODO - Translation
+ 'ko' => '%s не может быть отключено. <a href="%s">Проверьте логи FreshRSS</a> для подробностей.',
+ 'ok' => '%s теперь отключено',
),
'enable' => array(
- 'ko' => '%s cannot be enabled. <a href="%s">Check FreshRSS logs</a> for details.', // TODO - Translation
- 'ok' => '%s is now enabled', // TODO - Translation
+ 'ko' => '%s не может быть включено. <a href="%s">Проверьте логи FreshRSS</a> для подробностей.',
+ 'ok' => '%s теперь включено',
),
- 'no_access' => 'You have no access on %s', // TODO - Translation
- 'not_enabled' => '%s is not enabled yet',
- 'not_found' => '%s does not exist', // TODO - Translation
- 'removed' => '%s removed', // TODO - Translation
+ 'no_access' => 'У вас нет доступа к %s',
+ 'not_enabled' => '%s не включено',
+ 'not_found' => '%s не существует',
+ 'removed' => '%s удалено',
),
'import_export' => array(
- 'export_no_zip_extension' => 'The ZIP extension is not present on your server. Please try to export files one by one.', // TODO - Translation
- 'feeds_imported' => 'Your feeds have been imported and will now be updated', // TODO - Translation
- 'feeds_imported_with_errors' => 'Your feeds have been imported but some errors occurred',
- 'file_cannot_be_uploaded' => 'File cannot be uploaded!', // TODO - Translation
- 'no_zip_extension' => 'The ZIP extension is not present on your server.', // TODO - Translation
- 'zip_error' => 'An error occurred during ZIP import.', // TODO - Translation
+ 'export_no_zip_extension' => 'На вашем сервере нет расширения ZIP. Пожалуйста, попробуйте экспортировать файлы один за другим.',
+ 'feeds_imported' => 'Ваши ленты импортированы и теперь будут обновлены',
+ 'feeds_imported_with_errors' => 'Ваши ленты импортированы, но возникли ошибки',
+ 'file_cannot_be_uploaded' => 'Файл не может быть загружен!',
+ 'no_zip_extension' => 'На вашем сервере нет расширения ZIP.',
+ 'zip_error' => 'Ошибка возникла при импорте ZIP.',
),
'profile' => array(
- 'error' => 'Your profile cannot be modified', // TODO - Translation
- 'updated' => 'Your profile has been modified', // TODO - Translation
+ 'error' => 'Ваш профиль не может быть изменён',
+ 'updated' => 'Ваш профиль изменён',
),
'sub' => array(
- 'actualize' => 'Actualise',
+ 'actualize' => 'Актуализируется',
'articles' => array(
- 'marked_read' => 'The selected articles have been marked as read.', // TODO - Translation
- 'marked_unread' => 'The articles have been marked as unread.', // TODO - Translation
+ 'marked_read' => 'Выбранные статьи отмечены прочитанными.',
+ 'marked_unread' => 'Статьи отмечены непрочитанными.',
),
'category' => array(
- 'created' => 'Category %s has been created.', // TODO - Translation
- 'deleted' => 'Category has been deleted.', // TODO - Translation
- 'emptied' => 'Category has been emptied', // TODO - Translation
- 'error' => 'Category cannot be updated', // TODO - Translation
- 'name_exists' => 'Category name already exists.', // TODO - Translation
- 'no_id' => 'You must precise the id of the category.',
- 'no_name' => 'Category name cannot be empty.', // TODO - Translation
- 'not_delete_default' => 'You cannot delete the default category!', // TODO - Translation
- 'not_exist' => 'The category does not exist!', // TODO - Translation
- 'over_max' => 'You have reached your limit of categories (%d)', // TODO - Translation
- 'updated' => 'Category has been updated.', // TODO - Translation
+ 'created' => 'Категория %s создана.',
+ 'deleted' => 'Категория удалена.',
+ 'emptied' => 'Категория очищена',
+ 'error' => 'Категория не может быть изменена',
+ 'name_exists' => 'Категория с таким названием уже существует.',
+ 'no_id' => 'Вы должны задать id категории.',
+ 'no_name' => 'Название категории не может быть пустым.',
+ 'not_delete_default' => 'Вы не можете удалить стандартную категорию!',
+ 'not_exist' => 'Категории не существует!',
+ 'over_max' => 'Вы достигли вашего лимита категорий (%d)',
+ 'updated' => 'Категория изменена.',
),
'feed' => array(
- 'actualized' => '<em>%s</em> has been updated', // TODO - Translation
- 'actualizeds' => 'RSS feeds have been updated', // TODO - Translation
- 'added' => 'RSS feed <em>%s</em> has been added', // TODO - Translation
- 'already_subscribed' => 'You have already subscribed to <em>%s</em>', // TODO - Translation
- 'cache_cleared' => '<em>%s</em> cache has been cleared', // TODO - Translation
- 'deleted' => 'Feed has been deleted', // TODO - Translation
- 'error' => 'Feed cannot be updated', // TODO - Translation
- 'internal_problem' => 'The newsfeed could not be added. <a href="%s">Check FreshRSS logs</a> for details. You can try force adding by appending <code>#force_feed</code> to the URL.', // TODO - Translation
- 'invalid_url' => 'URL <em>%s</em> is invalid', // TODO - Translation
- 'n_actualized' => '%d feeds have been updated', // TODO - Translation
- 'n_entries_deleted' => '%d articles have been deleted', // TODO - Translation
- 'no_refresh' => 'There are no feeds to refresh', // TODO - Translation
- 'not_added' => '<em>%s</em> could not be added', // TODO - Translation
- 'not_found' => 'Feed cannot be found', // TODO - Translation
- 'over_max' => 'You have reached your limit of feeds (%d)', // TODO - Translation
- 'reloaded' => '<em>%s</em> has been reloaded', // TODO - Translation
+ 'actualized' => '<em>%s</em> актуализирована',
+ 'actualizeds' => 'RSS-ленты актуализированы',
+ 'added' => 'RSS-лента <em>%s</em> добавлена',
+ 'already_subscribed' => 'Вы уже подписаны на <em>%s</em>',
+ 'cache_cleared' => 'Кэш <em>%s</em> очищен',
+ 'deleted' => 'Лента удалена',
+ 'error' => 'Лента не может быть изменена',
+ 'internal_problem' => 'Новостная лента не может быть добавлена. <a href="%s">Проверьте логи FreshRSS</a> для подробностей. Вы можете попробовать принудительно добавить ленту, добавив <code>#force_feed</code> к URL.',
+ 'invalid_url' => 'URL <em>%s</em> неверный',
+ 'n_actualized' => '%d лент актуализировано',
+ 'n_entries_deleted' => '%d лент удалено',
+ 'no_refresh' => 'Нечего актуализировать',
+ 'not_added' => '<em>%s</em> не может быть добавлена',
+ 'not_found' => 'Лента не найдена',
+ 'over_max' => 'Вы достигли ограничения на количество лент (%d)',
+ 'reloaded' => '<em>%s</em> перезагружена',
'selector_preview' => array(
- 'http_error' => 'Failed to load website content.', // TODO - Translation
- 'no_entries' => 'There are no articles in this feed. You need at least one article to create a preview.', // TODO - Translation
- 'no_feed' => 'Internal error (feed cannot be found).', // TODO - Translation
- 'no_result' => 'The selector didn\'t match anything. As a fallback the original feed text will be displayed instead.', // TODO - Translation
- 'selector_empty' => 'The selector is empty. You need to define one to create a preview.', // TODO - Translation
+ 'http_error' => 'Не удалось загрузить содержимое сайта.',
+ 'no_entries' => 'В этой ленте нет статей. Требуется хотя бы одна статья, чтобы создать предпросмотр.',
+ 'no_feed' => 'Внутренняя ошибка (лента не найдена).',
+ 'no_result' => 'Нет совпадений с селектором. В качестве запасного варианта, вместо этого отображается оригинальный текст ленты.',
+ 'selector_empty' => 'Селектор пуст. Необходимо задать селектор, чтобы создать предпросмотр.',
),
- 'updated' => 'Feed has been updated', // TODO - Translation
+ 'updated' => 'Лента изменена',
),
- 'purge_completed' => 'Purge completed (%d articles deleted)', // TODO - Translation
+ 'purge_completed' => 'Очистка выполнена (%d статей удалено)',
),
'tag' => array(
- 'created' => 'Tag "%s" has been created.', // TODO - Translation
- 'name_exists' => 'Tag name already exists.', // TODO - Translation
- 'renamed' => 'Tag "%s" has been renamed to "%s".', // TODO - Translation
+ 'created' => 'Метка "%s" создана.',
+ 'name_exists' => 'Метка с таким названием уже существует.',
+ 'renamed' => 'Метка "%s" переименована в "%s".',
),
'update' => array(
- 'can_apply' => 'FreshRSS will now be updated to the <strong>version %s</strong>.', // TODO - Translation
- 'error' => 'The update process has encountered an error: %s', // TODO - Translation
- 'file_is_nok' => 'New <strong>version %s</strong> available, but check permissions on <em>%s</em> directory. HTTP server must have have write permission', // TODO - Translation
- 'finished' => 'Update complete!', // TODO - Translation
- 'none' => 'No update to apply', // TODO - Translation
- 'server_not_found' => 'Update server cannot be found. [%s]', // TODO - Translation
+ 'can_apply' => 'FreshRSS будет обновлён до <strong>версии %s</strong>.',
+ 'error' => 'Процесс обновления столкнулся с ошибкой: %s',
+ 'file_is_nok' => 'Новая <strong>версия %s</strong> доступна, но проверьте права к директории <em>%s</em>. У веб-сервера должно быть право на запись',
+ 'finished' => 'Обновление завершено!',
+ 'none' => 'Нет обновлений',
+ 'server_not_found' => 'Сервер обновлений не найден. [%s]',
),
'user' => array(
'created' => array(
- '_' => 'User %s has been created', // TODO - Translation
- 'error' => 'User %s cannot be created', // TODO - Translation
+ '_' => 'Пользователь %s создан',
+ 'error' => 'Пользователь %s не может быть создан',
),
'deleted' => array(
- '_' => 'User %s has been deleted', // TODO - Translation
- 'error' => 'User %s cannot be deleted', // TODO - Translation
+ '_' => 'Пользователь %s удалён',
+ 'error' => 'Пользователь %s не может быть удалён',
),
'updated' => array(
- '_' => 'User %s has been updated', // TODO - Translation
- 'error' => 'User %s has not been updated', // TODO - Translation
+ '_' => 'Пользователь %s изменён',
+ 'error' => 'Пользователь %s не был изменён',
),
),
);
diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php
index 7fc8e4b24..49787fa34 100644
--- a/app/i18n/ru/gen.php
+++ b/app/i18n/ru/gen.php
@@ -2,129 +2,129 @@
return array(
'action' => array(
- 'actualize' => 'Update', // TODO - Translation
- 'add' => 'Add', // TODO - Translation
- 'back' => '← Go back', // TODO - Translation
- 'back_to_rss_feeds' => '← Go back to your RSS feeds', // TODO - Translation
- 'cancel' => 'Cancel', // TODO - Translation
- 'create' => 'Create', // TODO - Translation
- 'demote' => 'Demote', // TODO - Translation
- 'disable' => 'Disable', // TODO - Translation
- 'empty' => 'Empty', // TODO - Translation
- 'enable' => 'Enable', // TODO - Translation
- 'export' => 'Export', // TODO - Translation
- 'filter' => 'Filter', // TODO - Translation
- 'import' => 'Import', // TODO - Translation
- 'load_default_shortcuts' => 'Load default shortcuts', // TODO - Translation
- 'manage' => 'Manage', // TODO - Translation
- 'mark_favorite' => 'Mark as favourite', // TODO - Translation
- 'mark_read' => 'Mark as read', // TODO - Translation
- 'promote' => 'Promote', // TODO - Translation
- 'purge' => 'Purge', // TODO - Translation
- 'remove' => 'Remove', // TODO - Translation
- 'rename' => 'Rename', // TODO - Translation
- 'see_website' => 'See website', // TODO - Translation
- 'submit' => 'Submit', // TODO - Translation
- 'truncate' => 'Delete all articles', // TODO - Translation
- 'update' => 'Update', // TODO - Translation
+ 'actualize' => 'Актуализировать',
+ 'add' => 'Добавить',
+ 'back' => '← Вернуться',
+ 'back_to_rss_feeds' => '← Вернуться к вашим RSS-лентам',
+ 'cancel' => 'Отменить',
+ 'create' => 'Создать',
+ 'demote' => 'Понизить',
+ 'disable' => 'Отключить',
+ 'empty' => 'Пусто',
+ 'enable' => 'Включить',
+ 'export' => 'Экспортировать',
+ 'filter' => 'Фильтровать',
+ 'import' => 'Импортировать',
+ 'load_default_shortcuts' => 'Загрузить горячие клавиши по умолчанию',
+ 'manage' => 'Настроить',
+ 'mark_favorite' => 'Отметить избранным',
+ 'mark_read' => 'Отметить прочитанным',
+ 'promote' => 'Продвинуть',
+ 'purge' => 'Запустить очистку',
+ 'remove' => 'Удалить',
+ 'rename' => 'Переименовать',
+ 'see_website' => 'Посмотреть на сайте',
+ 'submit' => 'Отправить',
+ 'truncate' => 'Удалить все статьи',
+ 'update' => 'Изменить',
),
'auth' => array(
- 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
- 'email' => 'Email address', // TODO - Translation
- 'keep_logged_in' => 'Keep me logged in <small>(%s дней)</small>',
- 'login' => 'Login', // TODO - Translation
- 'logout' => 'Logout', // TODO - Translation
+ 'accept_tos' => 'Я принимаю <a href="%s">Условия предоставления услуг</a>.',
+ 'email' => 'Адрес электронной почты',
+ 'keep_logged_in' => 'Не выходить из системы <small>(%s дней)</small>',
+ 'login' => 'Войти',
+ 'logout' => 'Выйти',
'password' => array(
- '_' => 'Password', // TODO - Translation
- 'format' => '<small>At least 7 characters</small>', // TODO - Translation
+ '_' => 'Пароль',
+ 'format' => '<small>Не менее 7 символов</small>',
),
'registration' => array(
- '_' => 'New account', // TODO - Translation
- 'ask' => 'Create an account?', // TODO - Translation
- 'title' => 'Account creation', // TODO - Translation
+ '_' => 'Новый аккаунт',
+ 'ask' => 'Создать аккаунт?',
+ 'title' => 'Создание аккаунта',
),
- 'reset' => 'Authentication reset', // TODO - Translation
+ 'reset' => 'Сброс аутентификации',
'username' => array(
- '_' => 'Username', // TODO - Translation
- 'admin' => 'Administrator username', // TODO - Translation
- 'format' => '<small>Maximum 16 alphanumeric characters</small>', // TODO - Translation
+ '_' => 'Имя пользователя',
+ 'admin' => 'Имя пользователя администратора',
+ 'format' => '<small>Не более 16 буквенно-цифровых символов</small>',
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l', // TODO - Translation
- 'Aug' => '\\A\\u\\g\\u\\s\\t', // TODO - Translation
- 'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r', // TODO - Translation
- 'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y', // TODO - Translation
- 'Jan' => '\\J\\a\\n\\u\\a\\r\\y', // TODO - Translation
- 'Jul' => '\\J\\u\\l\\y', // TODO - Translation
- 'Jun' => '\\J\\u\\n\\e', // TODO - Translation
- 'Mar' => '\\M\\a\\r\\c\\h', // TODO - Translation
- 'May' => '\\M\\a\\y', // TODO - Translation
- 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', // TODO - Translation
- 'Oct' => '\\O\\c\\t\\o\\b\\e\\r', // TODO - Translation
- 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', // TODO - Translation
- 'apr' => 'apr',
- 'april' => 'Apr',
- 'aug' => 'aug',
- 'august' => 'Aug',
- 'before_yesterday' => 'Before yesterday', // TODO - Translation
- 'dec' => 'dec',
- 'december' => 'Dec',
- 'feb' => 'feb',
- 'february' => 'Feb',
+ 'Apr' => '\\а\\п\\р\\е\\л\\я',
+ 'Aug' => '\\а\\в\\г\\у\\с\\т\\а',
+ 'Dec' => '\\д\\е\\к\\а\\б\\р\\я',
+ 'Feb' => '\\ф\\е\\в\\р\\а\\л\\я',
+ 'Jan' => '\\я\\н\\в\\а\\р\\я\\y',
+ 'Jul' => '\\и\\ю\\л\\я',
+ 'Jun' => '\\и\\ю\\н\\я',
+ 'Mar' => '\\м\\а\\р\\т\\а',
+ 'May' => '\\м\\а\\я',
+ 'Nov' => '\\н\\о\\я\\б\\р\\я',
+ 'Oct' => '\\о\\к\\т\\я\\б\\р\\я',
+ 'Sep' => '\\с\\е\\н\\т\\я\\б\\р\\я',
+ 'apr' => 'апр',
+ 'april' => 'апреля',
+ 'aug' => 'авг',
+ 'august' => 'августа',
+ 'before_yesterday' => 'До вчерашнего дня',
+ 'dec' => 'дек',
+ 'december' => 'декабря',
+ 'feb' => 'фев',
+ 'february' => 'февраля',
'format_date' => 'j %s Y',
- 'format_date_hour' => 'j %s Y \\a\\t H\\:i',
- 'fri' => 'Fri', // TODO - Translation
- 'jan' => 'jan',
- 'january' => 'Jan',
- 'jul' => 'jul',
- 'july' => 'Jul',
- 'jun' => 'jun',
- 'june' => 'Jun',
- 'last_2_year' => 'Last two years', // TODO - Translation
- 'last_3_month' => 'Last three months', // TODO - Translation
- 'last_3_year' => 'Last three years', // TODO - Translation
- 'last_5_year' => 'Last five years', // TODO - Translation
- 'last_6_month' => 'Last six months', // TODO - Translation
- 'last_month' => 'Last month', // TODO - Translation
- 'last_week' => 'Last week', // TODO - Translation
- 'last_year' => 'Last year', // TODO - Translation
- 'mar' => 'mar',
- 'march' => 'Mar',
- 'may' => 'May', // TODO - Translation
- 'may_' => 'May', // TODO - Translation
- 'mon' => 'Mon', // TODO - Translation
- 'month' => 'months', // TODO - Translation
- 'nov' => 'nov',
- 'november' => 'Nov',
- 'oct' => 'oct',
- 'october' => 'Oct',
- 'sat' => 'Sat', // TODO - Translation
- 'sep' => 'sep',
- 'september' => 'Sep',
- 'sun' => 'Sun', // TODO - Translation
- 'thu' => 'Thu', // TODO - Translation
- 'today' => 'Today', // TODO - Translation
- 'tue' => 'Tue', // TODO - Translation
- 'wed' => 'Wed', // TODO - Translation
- 'yesterday' => 'Yesterday', // TODO - Translation
+ 'format_date_hour' => 'j %s Y \\в H\\:i',
+ 'fri' => 'Пт',
+ 'jan' => 'янв',
+ 'january' => 'января',
+ 'jul' => 'июл',
+ 'july' => 'июля',
+ 'jun' => 'июн',
+ 'june' => 'июня',
+ 'last_2_year' => 'Последние два года',
+ 'last_3_month' => 'Последние три месяца',
+ 'last_3_year' => 'Последние три года',
+ 'last_5_year' => 'Последние пять лет',
+ 'last_6_month' => 'Последние шесть месяцев',
+ 'last_month' => 'Последний месяц',
+ 'last_week' => 'Последняя неделя',
+ 'last_year' => 'Последний год',
+ 'mar' => 'мар',
+ 'march' => 'марта',
+ 'may' => 'май',
+ 'may_' => 'мая',
+ 'mon' => 'Пн',
+ 'month' => 'месяцы',
+ 'nov' => 'ноя',
+ 'november' => 'ноября',
+ 'oct' => 'окт',
+ 'october' => 'октября',
+ 'sat' => 'Сб',
+ 'sep' => 'сен',
+ 'september' => 'сентября',
+ 'sun' => 'Вс',
+ 'thu' => 'Чт',
+ 'today' => 'Сегодня',
+ 'tue' => 'Вт',
+ 'wed' => 'Ср',
+ 'yesterday' => 'Вчера',
),
'dir' => 'ltr',
'freshrss' => array(
'_' => 'FreshRSS', // TODO - Translation
- 'about' => 'About FreshRSS', // TODO - Translation
+ 'about' => 'О FreshRSS',
),
'js' => array(
- 'category_empty' => 'Empty category', // TODO - Translation
- 'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!', // TODO - Translation
- 'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favorites and user queries. It cannot be cancelled!',
+ 'category_empty' => 'Пустая категория',
+ 'confirm_action' => 'Вы уверены, что хотите выполнить это действие? Это нельзя отменить!',
+ 'confirm_action_feed_cat' => 'Вы уверены, что хотите выполнить это действие? Вы потеряете связанные избранные статьи и пользовательские запросы. Это нельзя отменить!',
'feedback' => array(
- 'body_new_articles' => 'There are %%d new articles to read on FreshRSS.', // TODO - Translation
- 'request_failed' => 'A request has failed, it may have been caused by internet connection problems.', // TODO - Translation
- 'title_new_articles' => 'FreshRSS: new articles!', // TODO - Translation
+ 'body_new_articles' => '%%d новых статей в FreshRSS.',
+ 'request_failed' => 'Запрос не удался. Возможно, это вызвано проблемами с подключением к Интернет.',
+ 'title_new_articles' => 'FreshRSS: новые статьи!',
),
- 'new_article' => 'There are new articles available, click to refresh the page.', // TODO - Translation
- 'should_be_activated' => 'JavaScript must be enabled', // TODO - Translation
+ 'new_article' => 'Появились новые статьи. Нажмите, чтобы обновить страницу.',
+ 'should_be_activated' => 'JavaScript должен быть включён',
),
'lang' => array(
'cz' => 'Čeština',
@@ -146,48 +146,48 @@ return array(
'zh-cn' => '简体中文',
),
'menu' => array(
- 'about' => 'About', // TODO - Translation
- 'admin' => 'Administration', // TODO - Translation
- 'archiving' => 'Archiving', // TODO - Translation
- 'authentication' => 'Authentication', // TODO - Translation
- 'check_install' => 'Installation check', // TODO - Translation
- 'configuration' => 'Configuration', // TODO - Translation
- 'display' => 'Display', // TODO - Translation
- 'extensions' => 'Extensions', // TODO - Translation
- 'logs' => 'Logs', // TODO - Translation
- 'queries' => 'User queries', // TODO - Translation
- 'reading' => 'Reading', // TODO - Translation
- 'search' => 'Search words or #tags', // TODO - Translation
- 'sharing' => 'Sharing', // TODO - Translation
- 'shortcuts' => 'Shortcuts', // TODO - Translation
- 'stats' => 'Statistics', // TODO - Translation
- 'system' => 'System configuration', // TODO - Translation
- 'update' => 'Update', // TODO - Translation
- 'user_management' => 'Manage users', // TODO - Translation
- 'user_profile' => 'Profile', // TODO - Translation
+ 'about' => 'О проекте',
+ 'admin' => 'Администрирование',
+ 'archiving' => 'Архивирование',
+ 'authentication' => 'Аутентификация',
+ 'check_install' => 'Проверка установки',
+ 'configuration' => 'Конфигурация',
+ 'display' => 'Отображение',
+ 'extensions' => 'Расширения',
+ 'logs' => 'Логи',
+ 'queries' => 'Пользовательские запросы',
+ 'reading' => 'Чтение',
+ 'search' => 'Искать слова или #теги',
+ 'sharing' => 'Поделиться',
+ 'shortcuts' => 'Горячие клавиши',
+ 'stats' => 'Статистика',
+ 'system' => 'Системные настройки',
+ 'update' => 'Обновление системы',
+ 'user_management' => 'Управление пользователями',
+ 'user_profile' => 'Профиль',
),
'pagination' => array(
- 'first' => 'First', // TODO - Translation
- 'last' => 'Last', // TODO - Translation
- 'load_more' => 'Load more articles', // TODO - Translation
- 'mark_all_read' => 'Mark all as read', // TODO - Translation
- 'next' => 'Next', // TODO - Translation
- 'nothing_to_load' => 'There are no more articles', // TODO - Translation
- 'previous' => 'Previous', // TODO - Translation
+ 'first' => 'Первая',
+ 'last' => 'Последняя',
+ 'load_more' => 'Загрузить больше статей',
+ 'mark_all_read' => 'Отметить всё прочитанным',
+ 'next' => 'Следующая',
+ 'nothing_to_load' => 'Больше нет статей',
+ 'previous' => 'Предыдущая',
),
'period' => array(
- 'days' => 'days', // TODO - Translation
- 'hours' => 'hours', // TODO - Translation
- 'months' => 'months', // TODO - Translation
- 'weeks' => 'weeks', // TODO - Translation
- 'years' => 'years', // TODO - Translation
+ 'days' => 'дней',
+ 'hours' => 'часов',
+ 'months' => 'месяцев',
+ 'weeks' => 'недель',
+ 'years' => 'лет',
),
'share' => array(
- 'Known' => 'Known based sites', // TODO - Translation
+ 'Known' => 'Сайты на Known',
'blogotext' => 'Blogotext', // TODO - Translation
- 'clipboard' => 'Clipboard', // TODO - Translation
+ 'clipboard' => 'Буфер обмена',
'diaspora' => 'Diaspora*', // TODO - Translation
- 'email' => 'Email', // TODO - Translation
+ 'email' => 'Электронная почта',
'facebook' => 'Facebook', // TODO - Translation
'gnusocial' => 'GNU social', // TODO - Translation
'jdh' => 'Journal du hacker', // TODO - Translation
@@ -197,23 +197,23 @@ return array(
'movim' => 'Movim', // TODO - Translation
'pinboard' => 'Pinboard', // TODO - Translation
'pocket' => 'Pocket', // TODO - Translation
- 'print' => 'Print', // TODO - Translation
+ 'print' => 'Распечатать',
'shaarli' => 'Shaarli', // TODO - Translation
'twitter' => 'Twitter', // TODO - Translation
'wallabag' => 'wallabag v1', // TODO - Translation
'wallabagv2' => 'wallabag v2', // TODO - Translation
),
'short' => array(
- 'attention' => 'Warning!', // TODO - Translation
- 'blank_to_disable' => 'Leave blank to disable', // TODO - Translation
- 'by_author' => 'By:', // TODO - Translation
- 'by_default' => 'By default', // TODO - Translation
- 'damn' => 'Damn!',
- 'default_category' => 'Uncategorized', // TODO - Translation
- 'no' => 'No', // TODO - Translation
- 'not_applicable' => 'Not available', // TODO - Translation
- 'ok' => 'Okay!', // TODO - Translation
- 'or' => 'or', // TODO - Translation
- 'yes' => 'Yes', // TODO - Translation
+ 'attention' => 'Предупреждение!',
+ 'blank_to_disable' => 'Оставьте поле пустым, чтобы отключить',
+ 'by_author' => 'От:',
+ 'by_default' => 'По умолчанию',
+ 'damn' => 'О нет!',
+ 'default_category' => 'Без категории',
+ 'no' => 'Нет',
+ 'not_applicable' => 'Недоступно',
+ 'ok' => 'Отлично!',
+ 'or' => 'или',
+ 'yes' => 'Да',
),
);
diff --git a/app/i18n/ru/index.php b/app/i18n/ru/index.php
index 8f94aa171..df154d671 100644
--- a/app/i18n/ru/index.php
+++ b/app/i18n/ru/index.php
@@ -2,65 +2,65 @@
return array(
'about' => array(
- '_' => 'About', // TODO - Translation
+ '_' => 'О проекте',
'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', // TODO - Translation
- 'bugs_reports' => 'Bug reports', // TODO - Translation
- 'credits' => 'Credits', // TODO - Translation
- 'credits_content' => 'Some design elements come from <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> although FreshRSS doesn’t use this framework. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> come from <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> font police has been created by <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS is based on <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, a PHP framework.', // TODO - Translation
- 'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> or <a href="https://github.com/LeedRSS/Leed">Leed</a>. It is light and easy to take in hand while being powerful and configurable tool.', // TODO - Translation
- 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">on Github</a>', // TODO - Translation
- 'license' => 'License', // TODO - Translation
- 'project_website' => 'Project website', // TODO - Translation
- 'title' => 'About', // TODO - Translation
- 'version' => 'Version', // TODO - Translation
- 'website' => 'Website', // TODO - Translation
+ 'bugs_reports' => 'Баг репорты',
+ 'credits' => 'Авторство',
+ 'credits_content' => 'Некоторые элементы дизайна взяты из <a href="http://twitter.github.io/bootstrap/">Bootstrap</a>, хотя FreshRSS не использует этот фреймворк. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Иконки</a> взяты из <a href="https://www.gnome.org/">проекта GNOME</a>. Шрифт <em>Open Sans</em> создан <a href="https://fonts.google.com/specimen/Open+Sans">Стивом Мэттесоном</a>. FreshRSS основан на <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, PHP-фреймворке.',
+ 'freshrss_description' => 'FreshRSS &mdash; агрегатор RSS-лент для размещения на своём сервере подобно <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> или <a href="https://github.com/LeedRSS/Leed">Leed</a>. Лёгкий и простой в использовании, будучи при этом мощным и настраиваемым инструментом.',
+ 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">в Github</a>',
+ 'license' => 'Лицензия',
+ 'project_website' => 'Сайт проекта',
+ 'title' => 'О проекте',
+ 'version' => 'Версия',
+ 'website' => 'Сайт',
),
'feed' => array(
- 'add' => 'Please add some feeds.', // TODO - Translation
- 'empty' => 'There are no articles to show.', // TODO - Translation
- 'rss_of' => 'RSS feed of %s', // TODO - Translation
- 'title' => 'Main stream', // TODO - Translation
- 'title_fav' => 'Favourites', // TODO - Translation
- 'title_global' => 'Global view', // TODO - Translation
+ 'add' => 'Вы можете добавить ленты.',
+ 'empty' => 'Нет статей для отображения.',
+ 'rss_of' => 'RSS-лента %s',
+ 'title' => 'Основной поток',
+ 'title_fav' => 'Избранное',
+ 'title_global' => 'Глобальный вид',
),
'log' => array(
- '_' => 'Logs', // TODO - Translation
- 'clear' => 'Clear the logs', // TODO - Translation
- 'empty' => 'Log file is empty', // TODO - Translation
- 'title' => 'Logs', // TODO - Translation
+ '_' => 'Логи',
+ 'clear' => 'Очистить логи',
+ 'empty' => 'Файл лога пуст',
+ 'title' => 'Логи',
),
'menu' => array(
- 'about' => 'About FreshRSS', // TODO - Translation
- 'before_one_day' => 'Older than one day', // TODO - Translation
- 'before_one_week' => 'Older than one week', // TODO - Translation
- 'bookmark_query' => 'Bookmark current query', // TODO - Translation
- 'favorites' => 'Favourites (%s)', // TODO - Translation
- 'global_view' => 'Global view', // TODO - Translation
- 'main_stream' => 'Main stream', // TODO - Translation
- 'mark_all_read' => 'Mark all as read', // TODO - Translation
- 'mark_cat_read' => 'Mark category as read', // TODO - Translation
- 'mark_feed_read' => 'Mark feed as read', // TODO - Translation
- 'mark_selection_unread' => 'Mark selection as unread', // TODO - Translation
- 'newer_first' => 'Newer first', // TODO - Translation
- 'non-starred' => 'Show all but favorites',
- 'normal_view' => 'Normal view', // TODO - Translation
- 'older_first' => 'Oldest first', // TODO - Translation
- 'queries' => 'User queries', // TODO - Translation
- 'read' => 'Show only read',
- 'reader_view' => 'Reading view', // TODO - Translation
- 'rss_view' => 'RSS feed', // TODO - Translation
- 'search_short' => 'Search', // TODO - Translation
- 'starred' => 'Show only favorites',
- 'stats' => 'Statistics', // TODO - Translation
- 'subscription' => 'Subscription management', // TODO - Translation
- 'tags' => 'My labels', // TODO - Translation
- 'unread' => 'Show only unread',
+ 'about' => 'О FreshRSS',
+ 'before_one_day' => 'Старше одного дня',
+ 'before_one_week' => 'Старше одной недели',
+ 'bookmark_query' => 'Сохранить текущий запрос',
+ 'favorites' => 'Избранное (%s)',
+ 'global_view' => 'Глобальный вид',
+ 'main_stream' => 'Основной поток',
+ 'mark_all_read' => 'Отметить всё прочитанным',
+ 'mark_cat_read' => 'Отметить категорию прочитанной',
+ 'mark_feed_read' => 'Отметить ленту прочитанной',
+ 'mark_selection_unread' => 'Отметить выделение прочитанным',
+ 'newer_first' => 'Сначала новые',
+ 'non-starred' => 'Показать неизбранное',
+ 'normal_view' => 'Обычный вид',
+ 'older_first' => 'Сначала старые',
+ 'queries' => 'Запросы',
+ 'read' => 'Показать прочитанное',
+ 'reader_view' => 'Вид для чтения',
+ 'rss_view' => 'RSS-лента',
+ 'search_short' => 'Поиск',
+ 'starred' => 'Показать избранное',
+ 'stats' => 'Статистика',
+ 'subscription' => 'Управление подписками',
+ 'tags' => 'Мои метки',
+ 'unread' => 'Показать непрочитанное',
),
- 'share' => 'Share', // TODO - Translation
+ 'share' => 'Поделиться',
'tag' => array(
- 'related' => 'Article tags', // TODO - Translation
+ 'related' => 'Теги статьи',
),
'tos' => array(
- 'title' => 'Terms of Service', // TODO - Translation
+ 'title' => 'Условия предоставления услуг',
),
);
diff --git a/app/i18n/ru/install.php b/app/i18n/ru/install.php
index 3d666460d..03e09c09d 100644
--- a/app/i18n/ru/install.php
+++ b/app/i18n/ru/install.php
@@ -3,25 +3,25 @@
return array(
'action' => array(
'finish' => 'Завершить установку',
- 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу.',
- 'keep_install' => 'Сохранить предыдущую установку',
- 'next_step' => 'Перейти к следующему этапу',
+ 'fix_errors_before' => 'Пожалуйста, исправьте все ошибки, прежде чем перейти к следующему шагу.',
+ 'keep_install' => 'Сохранить предыдущую конфигурацию',
+ 'next_step' => 'Перейти к следующему шагу',
'reinstall' => 'Переустановить FreshRSS',
),
'auth' => array(
- 'form' => 'Вэб-форма (традиционный, необходим JavaScript)',
- 'http' => 'HTTP (для продвинутых пользователей с HTTPS)',
- 'none' => 'Никакого (опасно)',
- 'password_form' => 'Пароль<br /><small>(для метода аутентификации на Вэб-формах)</small>',
- 'password_format' => 'Как минимум 7 букв',
- 'type' => 'Метод аутентификации',
+ 'form' => 'Веб-форма (традиционный, необходим JavaScript)',
+ 'http' => 'HTTP (для опытных пользователей с HTTPS)',
+ 'none' => 'Без аутентификации (небезопасно)',
+ 'password_form' => 'Пароль<br /><small>(для входа через веб-форму)</small>',
+ 'password_format' => 'Не менее 7 символов',
+ 'type' => 'Способ аутентификации',
),
'bdd' => array(
'_' => 'База данных',
'conf' => array(
- '_' => 'Конфигурация базы данныхDatabase configuration',
- 'ko' => 'Проверьте конфигурацию базы данных.',
- 'ok' => 'Конфигурация базы данных сохранена.',
+ '_' => 'Настройки базы данных',
+ 'ko' => 'Проверьте настройки базы данных.',
+ 'ok' => 'Настройки базы данных сохранены.',
),
'host' => 'Хост',
'password' => 'Пароль базы данных',
@@ -31,9 +31,9 @@ return array(
),
'check' => array(
'_' => 'Проверки',
- 'already_installed' => 'Обнаружена предыдущая установка FreshRSS!',
+ 'already_installed' => 'Мы обнаружили, что FreshRSS уже установлен!',
'cache' => array(
- 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на папку кэша в порядке.',
),
'ctype' => array(
@@ -45,7 +45,7 @@ return array(
'ok' => 'У вас установлено расширение cURL.',
),
'data' => array(
- 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на <em>./data/</em> в порядке.',
),
'dom' => array(
@@ -53,7 +53,7 @@ return array(
'ok' => 'У вас установлена необходимая библиотека для просмотра DOM.',
),
'favicons' => array(
- 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на папку значков в порядке.',
),
'fileinfo' => array(
@@ -61,12 +61,12 @@ return array(
'ok' => 'У вас установлено расширение fileinfo.',
),
'json' => array(
- 'nok' => 'Cannot find the recommended library to parse JSON.', // TODO - Translation
- 'ok' => 'You have the recommended library to parse JSON.', // TODO - Translation
+ 'nok' => 'У вас нет рекомендуемой библиотеки для разбора JSON.',
+ 'ok' => 'У вас установлена необходимая библиотека для разбора JSON.',
),
'mbstring' => array(
- 'nok' => 'Cannot find the recommended library mbstring for Unicode.', // TODO - Translation
- 'ok' => 'You have the recommended library mbstring for Unicode.', // TODO - Translation
+ 'nok' => 'У вас не установлена рекомендуемая библиотека mbstring для Unicode.',
+ 'ok' => 'У вас установлена рекомендуемая библиотека mbstring для Unicode.',
),
'pcre' => array(
'nok' => 'У вас не установлена необходимая библиотека для работы с регулярными выражениями (php-pcre).',
@@ -81,43 +81,43 @@ return array(
'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.',
),
'tmp' => array(
- 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Сервер HTTP должен иметь права на запись в эту папку.',
- 'ok' => 'Permissions on the temp directory are good.', // TODO - Translation
+ 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Веб-сервер должен иметь право на запись в эту папку.',
+ 'ok' => 'Права на папку temp в порядке.',
),
- 'unknown_process_username' => 'unknown', // TODO - Translation
+ 'unknown_process_username' => 'неизвестно',
'users' => array(
- 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+ 'nok' => 'Проверьте права доступа к папке <em>%s</em> . Веб-сервер должен иметь право на запись в эту папку.',
'ok' => 'Права на папку users в порядке.',
),
'xml' => array(
- 'nok' => 'Cannot find the required library to parse XML.', // TODO - Translation
- 'ok' => 'You have the required library to parse XML.', // TODO - Translation
+ 'nok' => 'У вас нет необходимой библиотеки для разбора XML.',
+ 'ok' => 'У вас установлена необходимая библиотека для разбора XML.',
),
),
'conf' => array(
'_' => 'Общие настройки',
- 'ok' => 'Общие настройки были сохранены.',
+ 'ok' => 'Общие настройки сохранены.',
),
'congratulations' => 'Поздравляем!',
- 'default_user' => 'Имя пользователя по умолчанию <small>(максимум 16 латинских букв и/или цифр)</small>',
+ 'default_user' => 'Имя пользователя по умолчанию <small>(не более 16 буквенно-цифровых символов)</small>',
'delete_articles_after' => 'Удалять статьи после',
- 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу..',
- 'javascript_is_better' => 'FreshRSS принесёт больше удовольствия, если включить JavaScript',
+ 'fix_errors_before' => 'Пожалуйста, исправьте ошибки, прежде чем перейти к следующему шагу.',
+ 'javascript_is_better' => 'Пользоваться FreshRSS приятнее с включённым JavaScript',
'js' => array(
- 'confirm_reinstall' => 'Переустанавливая FreshRSS, вы потеряете предыдущую конфигурацию. Вы хотите продолжить?',
+ 'confirm_reinstall' => 'Переустанавливая FreshRSS, вы потеряете предыдущую конфигурацию. Вы уверены, что хотите продолжить?',
),
'language' => array(
'_' => 'Язык',
'choose' => 'Выберите язык для FreshRSS',
'defined' => 'Язык выбран.',
),
- 'missing_applied_migrations' => 'Something went wrong; you should create an empty file <em>%s</em> manually.', // TODO - Translation
- 'ok' => 'Установка успешна.',
+ 'missing_applied_migrations' => 'Что-то пошло не так; вам следует создать пустой файл <em>%s</em> вручную.',
+ 'ok' => 'Установка успешно завершена.',
'session' => array(
- 'nok' => 'The web server seems to be incorrectly configured for cookies required for PHP sessions!', // TODO - Translation
+ 'nok' => 'Похоже, веб-сервер имеет неправильные настройки кук! Куки нужны для сессий PHP.',
),
- 'step' => '%d этап',
- 'steps' => 'Этапы',
- 'this_is_the_end' => 'Это конец',
+ 'step' => 'шаг %d',
+ 'steps' => 'Шаги',
+ 'this_is_the_end' => 'Завершение',
'title' => 'Установка · FreshRSS',
);
diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php
index 05a8024f5..408574866 100644
--- a/app/i18n/ru/sub.php
+++ b/app/i18n/ru/sub.php
@@ -1,141 +1,141 @@
<?php
return array(
- 'add' => 'Feed and category creation has been moved <a href=\'%s\'>here</a>. It is also accessible from the menu on the left and from the ✚ icon available on the main page.', // TODO - Translation
+ 'add' => 'Создание лент и категорий перемещено <a href=\'%s\'>сюда</a>. Оно также доступно из меню слева и по нажатию на иконку ✚ на главной странице.',
'api' => array(
- 'documentation' => 'Copy the following URL to use it within an external tool.', // TODO - Translation
+ 'documentation' => 'Скопируйте URL для использования во внешнем инструменте.',
'title' => 'API', // TODO - Translation
),
'bookmarklet' => array(
- 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click the "Subscribe" button in any page you want to subscribe to.', // TODO - Translation
- 'label' => 'Subscribe', // TODO - Translation
- 'title' => 'Bookmarklet', // TODO - Translation
+ 'documentation' => 'Перетяните эту кнопку на вашу панель закладок, или нажмите правой кнопкой мыши и выберите "Добавить ссылку в закладки". Нажимайте кнопку "Подписаться" на любой странице, на которую вы хотите подписаться.<br>',
+ 'label' => 'Подписаться',
+ 'title' => 'Букмарклет',
),
'category' => array(
- '_' => 'Category', // TODO - Translation
- 'add' => 'Add a category', // TODO - Translation
- 'archiving' => 'Archivage',
- 'empty' => 'Empty category', // TODO - Translation
- 'information' => 'Information', // TODO - Translation
- 'position' => 'Display position', // TODO - Translation
- 'position_help' => 'To control category sort order', // TODO - Translation
- 'title' => 'Title', // TODO - Translation
+ '_' => 'Категория',
+ 'add' => 'Добавить категорию',
+ 'archiving' => 'Архивирование',
+ 'empty' => 'Пустая категория',
+ 'information' => 'Информация',
+ 'position' => 'Положение отображения',
+ 'position_help' => 'Влияет на порядок отображения категорий',
+ 'title' => 'Заголовок',
),
'feed' => array(
- 'add' => 'Add a RSS feed', // TODO - Translation
- 'advanced' => 'Advanced', // TODO - Translation
- 'archiving' => 'Archivage',
+ 'add' => 'Добавить RSS-ленту',
+ 'advanced' => 'Дополнительно',
+ 'archiving' => 'Архивирование',
'auth' => array(
- 'configuration' => 'Login', // TODO - Translation
- 'help' => 'Connection allows to access HTTP protected RSS feeds',
- 'http' => 'HTTP Authentication', // TODO - Translation
- 'password' => 'HTTP password', // TODO - Translation
- 'username' => 'HTTP username', // TODO - Translation
+ 'configuration' => 'Логин',
+ 'help' => 'Разрешить доступ к HTTP защищённым RSS-лентам',
+ 'http' => 'HTTP аутентификация',
+ 'password' => 'Пароль HTTP',
+ 'username' => 'Имя пользователя HTTP',
),
- 'clear_cache' => 'Always clear cache', // TODO - Translation
+ 'clear_cache' => 'Всегда очищать кэш',
'content_action' => array(
- '_' => 'Content action when fetching the article content', // TODO - Translation
- 'append' => 'Add after existing content', // TODO - Translation
- 'prepend' => 'Add before existing content', // TODO - Translation
- 'replace' => 'Replace existing content', // TODO - Translation
+ '_' => 'Действие с содержимым, когда извлекается содержимое статьи',
+ 'append' => 'Добавить после существующего содержимого',
+ 'prepend' => 'Добавить перед существующим содержимым',
+ 'replace' => 'Заменить существующее содержимое',
),
- 'css_cookie' => 'Use Cookies when fetching the article content', // TODO - Translation
- 'css_cookie_help' => 'Example: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>', // TODO - Translation
- 'css_help' => 'Retrieves truncated RSS feeds (caution, requires more time!)', // TODO - Translation
- 'css_path' => 'Article CSS selector on original website', // TODO - Translation
- 'description' => 'Description', // TODO - Translation
- 'empty' => 'This feed is empty. Please verify that it is still maintained.', // TODO - Translation
- 'error' => 'This feed has encountered a problem. Please verify that it is always reachable then actualize it.',
+ 'css_cookie' => 'Использовать куки при извлечении содержимого статьи',
+ 'css_cookie_help' => 'Пример: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>',
+ 'css_help' => 'Получает усечённые RSS-ленты (осторожно, требует больше времени!)',
+ 'css_path' => 'CSS селектор статьи на сайте',
+ 'description' => 'Описание',
+ 'empty' => 'Лента пустая. Пожалуйста, убедитесь, что её до сих пор обслуживают.',
+ 'error' => 'С этой лентой возникла проблема. Пожалуйста, убедитесь, что она всегда досягаема. Затем снова актуализируйте её.',
'filteractions' => array(
- '_' => 'Filter actions', // TODO - Translation
- 'help' => 'Write one search filter per line.', // TODO - Translation
+ '_' => 'Действия фильтрации',
+ 'help' => 'Введите по одному поисковому фильтру в строке.',
),
- 'information' => 'Information', // TODO - Translation
- 'keep_min' => 'Minimum number of articles to keep', // TODO - Translation
+ 'information' => 'Информация',
+ 'keep_min' => 'Оставлять статей не менее',
'maintenance' => array(
- 'clear_cache' => 'Clear cache', // TODO - Translation
- 'clear_cache_help' => 'Clear the cache for this feed.', // TODO - Translation
- 'reload_articles' => 'Reload articles', // TODO - Translation
- 'reload_articles_help' => 'Reload articles and fetch complete content if a selector is defined.', // TODO - Translation
- 'title' => 'Maintenance', // TODO - Translation
+ 'clear_cache' => 'Очистить кэш',
+ 'clear_cache_help' => 'Очистить кэш для этой ленты.',
+ 'reload_articles' => 'Снова загрузить статьи',
+ 'reload_articles_help' => 'Снова загрузить статьи и извлечь полное содержимое, если задан селектор.',
+ 'title' => 'Обслуживание',
),
- 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.', // TODO - Translation
- 'mute' => 'mute', // TODO - Translation
- 'no_selected' => 'No feed selected.', // TODO - Translation
- 'number_entries' => '%d articles', // TODO - Translation
+ 'moved_category_deleted' => 'Когда вы удаляете категорию, ленты категории автоматически попадают в категорию <em>%s</em>.',
+ 'mute' => 'заглушить',
+ 'no_selected' => 'Ленты не выбраны.',
+ 'number_entries' => '%d статей',
'priority' => array(
- '_' => 'Visibility', // TODO - Translation
- 'archived' => 'Do not show (archived)', // TODO - Translation
- 'main_stream' => 'Show in main stream', // TODO - Translation
- 'normal' => 'Show in its category', // TODO - Translation
+ '_' => 'Видимость',
+ 'archived' => 'Не показывать (архивировано)',
+ 'main_stream' => 'Показывать в основном потоке',
+ 'normal' => 'Показывать в категории ленты',
),
- 'proxy' => 'Set a proxy for fetching this feed', // TODO - Translation
- 'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: <kbd>127.0.0.1:1080</kbd>)', // TODO - Translation
+ 'proxy' => 'Указать прокси для извлечения этой ленты',
+ 'proxy_help' => 'Выберите протокол (например, SOCKS5) и введите адрес прокси (например, <kbd>127.0.0.1:1080</kbd>)',
'selector_preview' => array(
- 'show_raw' => 'Show source code', // TODO - Translation
- 'show_rendered' => 'Show content', // TODO - Translation
+ 'show_raw' => 'Показать исходный код',
+ 'show_rendered' => 'Показать содержимое',
),
'show' => array(
- 'all' => 'Show all feeds', // TODO - Translation
- 'error' => 'Show only feeds with errors', // TODO - Translation
+ 'all' => 'Показать все ленты',
+ 'error' => 'Показать только ленты с ошибками',
),
'showing' => array(
- 'error' => 'Showing only feeds with errors', // TODO - Translation
+ 'error' => 'Показываются только ленты с ошибками',
),
- 'ssl_verify' => 'Verify SSL security', // TODO - Translation
- 'stats' => 'Statistics', // TODO - Translation
- 'think_to_add' => 'You may add some feeds.', // TODO - Translation
- 'timeout' => 'Timeout in seconds', // TODO - Translation
- 'title' => 'Title', // TODO - Translation
- 'title_add' => 'Add an RSS feed', // TODO - Translation
- 'ttl' => 'Do not automatically refresh more often than', // TODO - Translation
- 'url' => 'Feed URL', // TODO - Translation
- 'useragent' => 'Set the user agent for fetching this feed', // TODO - Translation
- 'useragent_help' => 'Example: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>', // TODO - Translation
- 'validator' => 'Check the validity of the feed', // TODO - Translation
- 'website' => 'Website URL', // TODO - Translation
- 'websub' => 'Instant notification with WebSub', // TODO - Translation
+ 'ssl_verify' => 'Проверять безопасность SSL',
+ 'stats' => 'Статистика',
+ 'think_to_add' => 'Вы можете добавить ленты.',
+ 'timeout' => 'Таймаут в секундах',
+ 'title' => 'Заголовок',
+ 'title_add' => 'Добавить RSS-ленту',
+ 'ttl' => 'Не актуализировать автоматически чаще чем',
+ 'url' => 'URL ленты',
+ 'useragent' => 'Указать юзерагент для извлечения лент',
+ 'useragent_help' => 'Пример: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>',
+ 'validator' => 'Проверить валидность ленты',
+ 'website' => 'URL сайта',
+ 'websub' => 'Моментальные оповещения посредством WebSub',
),
'firefox' => array(
- 'documentation' => 'Follow the steps described <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">here</a> to add FreshRSS to Firefox feed reader list.', // TODO - Translation
- 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', // TODO - Translation
- 'title' => 'Firefox feed reader', // TODO - Translation
+ 'documentation' => 'Выполните шаги, описанные <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">здесь</a>, чтобы добавить FreshRSS в список читалок лент Firefox.',
+ 'obsolete_63' => 'Начиная с версии 63, Firefox убрал возможность добавлять собственные сервисы подписок, которые не являются отдельными программами.',
+ 'title' => 'Читалка лент Firefox',
),
'import_export' => array(
- 'export' => 'Export', // TODO - Translation
- 'export_labelled' => 'Export your labelled articles', // TODO - Translation
- 'export_opml' => 'Export list of feeds (OPML)', // TODO - Translation
- 'export_starred' => 'Export your favourites', // TODO - Translation
- 'feed_list' => 'List of %s articles', // TODO - Translation
- 'file_to_import' => 'File to import<br />(OPML, JSON or ZIP)', // TODO - Translation
- 'file_to_import_no_zip' => 'File to import<br />(OPML or JSON)', // TODO - Translation
- 'import' => 'Import', // TODO - Translation
- 'starred_list' => 'List of favourite articles', // TODO - Translation
- 'title' => 'Import / export', // TODO - Translation
+ 'export' => 'Экспорт',
+ 'export_labelled' => 'Экспортировать ваши помеченные статьи',
+ 'export_opml' => 'Экспортировать список лент (OPML)',
+ 'export_starred' => 'Экспортировать ваше избранное',
+ 'feed_list' => 'Список из %s статей',
+ 'file_to_import' => 'Файл для импорта<br />(OPML, JSON or ZIP)',
+ 'file_to_import_no_zip' => 'Файл для импорта<br />(OPML or JSON)',
+ 'import' => 'Импорт',
+ 'starred_list' => 'Список избранных статей',
+ 'title' => 'Импорт / экспорт',
),
'menu' => array(
- 'add' => 'Add a feed or category', // TODO - Translation
- 'add_feed' => 'Add a feed', // TODO - Translation
- 'bookmark' => 'Subscribe (FreshRSS bookmark)', // TODO - Translation
- 'import_export' => 'Import / export', // TODO - Translation
- 'label_management' => 'Label management', // TODO - Translation
- 'subscription_management' => 'Subscription management', // TODO - Translation
- 'subscription_tools' => 'Subscription tools', // TODO - Translation
+ 'add' => 'Добавить ленту или категорию',
+ 'add_feed' => 'Добавить ленту',
+ 'bookmark' => 'Подписаться (закладка FreshRSS)',
+ 'import_export' => 'Импорт / экспорт',
+ 'label_management' => 'Управление метками',
+ 'subscription_management' => 'Управление подписками',
+ 'subscription_tools' => 'Инструменты подписки',
),
'tag' => array(
- 'name' => 'Name', // TODO - Translation
- 'new_name' => 'New name', // TODO - Translation
- 'old_name' => 'Old name', // TODO - Translation
+ 'name' => 'Название',
+ 'new_name' => 'Новое название',
+ 'old_name' => 'Старое название',
),
'title' => array(
- '_' => 'Subscription management', // TODO - Translation
- 'add' => 'Add a feed or category', // TODO - Translation
- 'add_category' => 'Add a category', // TODO - Translation
- 'add_feed' => 'Add a feed', // TODO - Translation
- 'add_label' => 'Add a label', // TODO - Translation
- 'delete_label' => 'Delete a label', // TODO - Translation
- 'feed_management' => 'RSS feeds management', // TODO - Translation
- 'rename_label' => 'Rename a label', // TODO - Translation
- 'subscription_tools' => 'Subscription tools', // TODO - Translation
+ '_' => 'Управление подписками',
+ 'add' => 'Добавить ленту или категорию',
+ 'add_category' => 'Добавить категорию',
+ 'add_feed' => 'Добавить ленту',
+ 'add_label' => 'Добавить метку',
+ 'delete_label' => 'Удалить метку',
+ 'feed_management' => 'Управление RSS-лентами',
+ 'rename_label' => 'Переименовать метку',
+ 'subscription_tools' => 'Инструменты подписки',
),
);
diff --git a/app/i18n/ru/user.php b/app/i18n/ru/user.php
index 7816efcbc..69be69de5 100644
--- a/app/i18n/ru/user.php
+++ b/app/i18n/ru/user.php
@@ -3,42 +3,42 @@
return array(
'email' => array(
'feedback' => array(
- 'invalid' => 'This email address is invalid.', // TODO - Translation
- 'required' => 'An email address is required.', // TODO - Translation
+ 'invalid' => 'Этот адрес электронной почты неверный.',
+ 'required' => 'Требуется адрес электронной почты.',
),
'validation' => array(
- 'change_email' => 'You can change your email address <a href="%s">on the profile page</a>.', // TODO - Translation
- 'email_sent_to' => 'We sent you an email at <strong>%s</strong>. Please follow its instructions to validate your address.', // TODO - Translation
+ 'change_email' => 'Вы можете изменить ваш адрес электронной почты <a href="%s">на странице профиля</a>.',
+ 'email_sent_to' => 'Мы отправили вам письмо по адресу <strong>%s</strong>. Пожалуйста, следуйте инструкциям в нём, чтобы подтвердить ваш адрес электронной почты.',
'feedback' => array(
- 'email_failed' => 'We couldn’t send you an email because of a server configuration error.', // TODO - Translation
- 'email_sent' => 'An email has been sent to your address.', // TODO - Translation
- 'error' => 'Email address validation failed.', // TODO - Translation
- 'ok' => 'This email address has been validated.', // TODO - Translation
- 'unneccessary' => 'This email address was already validated.', // TODO - Translation
- 'wrong_token' => 'This email address failed to be validated due to a wrong token.', // TODO - Translation
+ 'email_failed' => 'Мы не смогли отправить вам письмо из-за ошибки конфигурации сервера.',
+ 'email_sent' => 'Письмо отправлено на ваш адрес электронной почты.',
+ 'error' => 'Не удалось подтвердить адрес электронной почты.',
+ 'ok' => 'Адрес электронной почты подтверждён.',
+ 'unneccessary' => 'Этот адрес электронной почты уже подтверждён.',
+ 'wrong_token' => 'Не удалось подтвердить этот адрес электронной почты из-за неверного токена.',
),
- 'need_to' => 'You need to validate your email address before being able to use %s.', // TODO - Translation
- 'resend_email' => 'Resend the email', // TODO - Translation
- 'title' => 'Email address validation', // TODO - Translation
+ 'need_to' => 'Вам необходимо подтвердить адрес электронной почты, прежде чем вы сможете пользоваться %s.',
+ 'resend_email' => 'Отправить ещё раз',
+ 'title' => 'Подтверждение адреса электронной почты',
),
),
'mailer' => array(
'email_need_validation' => array(
- 'body' => 'You’ve just registered on %s, but you still need to validate your email address. For that, just follow the link:', // TODO - Translation
- 'title' => 'You need to validate your account', // TODO - Translation
- 'welcome' => 'Welcome %s,', // TODO - Translation
+ 'body' => 'Вы зарегистрировались в %s, но вам всё ещё нужно подтвердить ваш адрес электронной почты. Для этого просто перейдите по ссылке:',
+ 'title' => 'Вам нужно подтвердить ваш аккаунт',
+ 'welcome' => 'Добро пожаловать, %s,',
),
),
'password' => array(
- 'invalid' => 'The password is invalid.', // TODO - Translation
+ 'invalid' => 'Неверный пароль.',
),
'tos' => array(
'feedback' => array(
- 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ 'invalid' => 'Вы должны принять Условия предоставления услуг, чтобы зарегистрироваться.',
),
),
'username' => array(
- 'invalid' => 'This username is invalid.', // TODO - Translation
- 'taken' => 'This username, %s, is taken.', // TODO - Translation
+ 'invalid' => 'Неверное имя пользователя.',
+ 'taken' => 'Имя пользователя %s занято.',
),
);