Răsfoiți Sursa

Merge pull request #1085 from ASMfreaK/1029-Translation-to-russian

1029 translation to russian
Alexandre Alapetite 9 ani în urmă
părinte
comite
b1d8f03acb

+ 183 - 0
app/i18n/ru_RU.utf8/admin.php

@@ -0,0 +1,183 @@
+<?php
+
+return array(
+	'auth' => array(
+		'allow_anonymous' => 'Разрешить анонимное чтение статей для пользователя по умолчанию (%s)',
+		'allow_anonymous_refresh' => 'Разрешить анонимное обновление статей',
+		'api_enabled' => 'Включить доступ к <abbr>API</abbr> <small>(необходимо для мобильных приложений)</small>',
+		'form' => 'На основе веб-формы (традиционный, необходим JavaScript)',
+		'http' => 'HTTP (для продвинутых пользователей - по HTTPS)',
+		'none' => 'Без аутентификации (небезопасный)',
+		'persona' => 'Mozilla Persona (новый, необходим JavaScript)',
+		'title' => 'Аутентификации',
+		'title_reset' => 'Сброс аутентицикации',
+		'token' => 'Токен аутентификации',
+		'token_help' => 'Разрешает доступ к RSS ленте пользователя по умолчанию без аутентификации:',
+		'type' => 'Метод аутентификации',
+		'unsafe_autologin' => 'Разрешить небезопасный автоматический вход с использованием следующего формата: ',
+	),
+	'check_install' => array(
+		'cache' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/cache</em>. Сервер HTTP должен иметь права на запись в эту папку',
+			'ok' => 'Права на <em>./data/cache</em> в порядке.',
+		),
+		'categories' => array(
+			'nok' => 'Таблица категорий настроена неправильно.',
+			'ok' => 'Таблица категорий настроена правильно.',
+		),
+		'connection' => array(
+			'nok' => 'Подключение к базе данных не может быть установлено.',
+			'ok' => 'Подключение к базе данных в порядке.',
+		),
+		'ctype' => array(
+			'nok' => 'У вас не установлена библиотека для проверки типов символов (php-ctype).',
+			'ok' => 'У вас не установлена библиотека для проверки типов символов (ctype).',
+		),
+		'curl' => array(
+			'nok' => 'У вас не установлено расширение cURL (пакет php5-curl).',
+			'ok' => 'У вас установлено расширение cURL.',
+		),
+		'data' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на <em>./data/</em> в порядке.',
+		),
+		'database' => 'Установка базы данных',
+		'dom' => array(
+			'nok' => 'У вас не установлена библиотека для просмотра DOM (пакет php-xml).',
+			'ok' => 'У вас установлена библиотека для просмотра DOM.',
+		),
+		'entries' => array(
+			'nok' => 'Таблица статей (entry) неправильно настроена.',
+			'ok' => 'Таблица статей (entry) настроена правильно.',
+		),
+		'favicons' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/favicons</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку значков в порядке.',
+		),
+		'feeds' => array(
+			'nok' => 'Таблица подписок (feed) неправильно настроена.',
+			'ok' => 'Таблица подписок (feed) настроена правильно.',
+		),
+		'files' => 'Установка файлов',
+		'json' => array(
+			'nok' => 'У вас не установлена библиотека для работы с JSON (пакет php5-json).',
+			'ok' => 'У вас установлена библиотека для работы с JSON.',
+		),
+		'minz' => array(
+			'nok' => 'У вас не установлен фрейворк Minz.',
+			'ok' => 'У вас установлен фрейворк Minz.',
+		),
+		'pcre' => array(
+			'nok' => 'У вас не установлена необходимая библиотека для работы с регулярными выражениями (php-pcre).',
+			'ok' => 'У вас установлена необходимая библиотека для работы с регулярными выражениями (PCRE).',
+		),
+		'pdo' => array(
+			'nok' => 'У вас не установлен PDO или один из необходимых драйверов (pdo_mysql, pdo_sqlite).',
+			'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).',
+		),
+		'persona' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/persona</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку Mozilla Persona в порядке.',
+		),
+		'php' => array(
+			'_' => 'PHP installation',
+			'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.',
+			'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.',
+		),
+		'tables' => array(
+			'nok' => 'В базе данных отсуствует одна или больше таблица.',
+			'ok' => 'Все таблицы есть в базе данных.',
+		),
+		'title' => 'Проверка установки и настройки',
+		'tokens' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/tokens</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку tokens  в порядке.',
+		),
+		'users' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/users</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку users  в порядке.',
+		),
+		'zip' => array(
+			'nok' => 'You lack ZIP extension (php5-zip package).',
+			'ok' => 'You have ZIP extension.',
+		),
+	),
+	'extensions' => array(
+		'disabled' => 'Отключены',
+		'empty_list' => 'Расширения не установлены',
+		'enabled' => 'Включены',
+		'no_configure_view' => 'Это расширение нельзя настроить.',
+		'system' => array(
+			'_' => 'Системные расширения',
+			'no_rights' => 'Системные расширения (у вас нет к ним доступа)',
+		),
+		'title' => 'Расширения',
+		'user' => 'Расширения пользователя',
+	),
+	'stats' => array(
+		'_' => 'Статистика',
+		'all_feeds' => 'Все подписки',
+		'category' => 'Категория',
+		'entry_count' => 'Количество статей',
+		'entry_per_category' => 'Статей в категории',
+		'entry_per_day' => 'Статей за день (за последние 30 дней)',
+		'entry_per_day_of_week' => 'За неделю (в среднем - %.2f сообщений)',
+		'entry_per_hour' => 'За час (в среднем - %.2f сообщений)',
+		'entry_per_month' => 'За месяц (в среднем - %.2f сообщений)',
+		'entry_repartition' => 'Перерасределение статей',
+		'feed' => 'Подписка',
+		'feed_per_category' => 'Подписок в категории',
+		'idle' => 'Неактивные подписки',
+		'main' => 'Основная статистика',
+		'main_stream' => 'Основной поток',
+		'menu' => array(
+			'idle' => 'Неактивные подписки',
+			'main' => 'Основная статистика',
+			'repartition' => 'Перерасределение статей',
+		),
+		'no_idle' => 'Нет неактивных подписок!',
+		'number_entries' => 'статей: %d',
+		'percent_of_total' => '%% от всего',
+		'repartition' => 'Перераспределение статей',
+		'status_favorites' => 'Избранное',
+		'status_read' => 'Читать',
+		'status_total' => 'Всего',
+		'status_unread' => 'Не прочитано',
+		'title' => 'Статистика',
+		'top_feed' => '10 лучших подписок',
+	),
+	'system' => array(
+		'_' => 'Системные настройки',
+		'auto-update-url' => 'Адрес сервера для автоматического обновления',
+		'instance-name' => 'Название этого сервера',
+		'max-categories' => 'Количество категорий на пользователя',
+		'max-feeds' => 'Количество статей на пользователя',
+		'registration' => array(
+			'help' => '0 означает неограниченное количество пользователей',
+			'number' => 'Максимальное количество пользователей',
+		),
+	),
+	'update' => array(
+		'_' => 'Обновление системы',
+		'apply' => 'Применить',
+		'check' => 'Проверить обновления',
+		'current_version' => 'Ваша текущая версия FreshRSS: %s.',
+		'last' => 'Последняя проверка: %s',
+		'none' => 'Нечего обновлять',
+		'title' => 'Обновить систему',
+	),
+	'user' => array(
+		'articles_and_size' => '%s статей (%s)',
+		'create' => 'Создать нового пользователя',
+		'email_persona' => 'Адрес электронной почты для входа<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>',
+		'language' => 'Язык',
+		'number' => 'На данный момент создан %d аккаунт',
+		'numbers' => 'На данный момент аккаунтов создано:  %d',
+		'password_form' => 'Пароль<br /><small>(для входа через Веб-форму)</small>',
+		'password_format' => 'Минимум 7 символов',
+		'title' => 'Управление пользователями',
+		'user_list' => 'Список пользователей',
+		'username' => 'Имя пользователя',
+		'users' => 'Пользователи',
+	),
+);

+ 174 - 0
app/i18n/ru_RU.utf8/conf.php

@@ -0,0 +1,174 @@
+<?php
+
+return array(
+	'archiving' => array(
+		'_' => 'Архивация',
+		'advanced' => 'Продвинутые настройки',
+		'delete_after' => 'Удалять статьи после',
+		'help' => 'Каждую подписку можно настроить более гибко',
+		'keep_history_by_feed' => 'Minimum number of articles to keep by feed',
+		'optimize' => 'Оптимизировать базу данных',
+		'optimize_help' => 'To do occasionally to reduce the size of the database',
+		'purge_now' => 'Очистить сейчас',
+		'title' => 'Архивация',
+		'ttl' => 'Не обновлять чаще чем',
+	),
+	'display' => array(
+		'_' => 'Display',
+		'icon' => array(
+			'bottom_line' => 'Bottom line',
+			'entry' => 'Article icons',
+			'publication_date' => 'Date of publication',
+			'related_tags' => 'Related tags',
+			'sharing' => 'Sharing',
+			'top_line' => 'Top line',
+		),
+		'language' => 'Язык',
+		'notif_html5' => array(
+			'seconds' => 'seconds (0 means no timeout)',
+			'timeout' => 'HTML5 notification timeout',
+		),
+		'theme' => 'Тема',
+		'title' => 'Display',
+		'width' => array(
+			'content' => 'Content width',
+			'large' => 'Large',
+			'medium' => 'Medium',
+			'no_limit' => 'No limit',
+			'thin' => 'Thin',
+		),
+	),
+	'query' => array(
+		'_' => 'User queries',
+		'deprecated' => 'This query is no longer valid. The referenced category or feed has been deleted.',
+		'filter' => 'Filter applied:',
+		'get_all' => 'Display all articles',
+		'get_category' => 'Display "%s" category',
+		'get_favorite' => 'Display favorite articles',
+		'get_feed' => 'Display "%s" feed',
+		'no_filter' => 'No filter',
+		'none' => 'You haven’t created any user query yet.',
+		'number' => 'Query n°%d',
+		'order_asc' => 'Display oldest articles first',
+		'order_desc' => 'Display newest articles first',
+		'search' => 'Search for "%s"',
+		'state_0' => 'Display all articles',
+		'state_1' => 'Display read articles',
+		'state_2' => 'Display unread articles',
+		'state_3' => 'Display all articles',
+		'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',
+		'state_13' => 'Display read articles',
+		'state_14' => 'Display unread articles',
+		'state_15' => 'Display all articles',
+		'title' => 'User queries',
+	),
+	'profile' => array(
+		'_' => 'Profile management',
+		'delete' => array(
+			'_' => 'Account deletion',
+			'warn' => 'Your account and all the related data will be deleted.',
+		),
+		'email_persona' => 'Login email address<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>',
+		'password_api' => 'Password API<br /><small>(e.g., for mobile apps)</small>',
+		'password_form' => 'Password<br /><small>(for the Web-form login method)</small>',
+		'password_format' => 'At least 7 characters',
+		'title' => 'Profile',
+	),
+	'reading' => array(
+		'_' => 'Reading',
+		'after_onread' => 'After “mark all as read”,',
+		'articles_per_page' => 'Number of articles per page',
+		'auto_load_more' => 'Load next articles at the page bottom',
+		'auto_remove_article' => 'Hide articles after reading',
+		'mark_updated_article_unread' => 'Mark updated articles as unread',
+		'confirm_enabled' => 'Display a confirmation dialog on “mark all as read” actions',
+		'display_articles_unfolded' => 'Show articles unfolded by default',
+		'display_categories_unfolded' => 'Show categories folded by default',
+		'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',
+		'jump_next' => 'jump to next unread sibling (feed or category)',
+		'number_divided_when_reader' => 'Divided by 2 in the reading view.',
+		'read' => array(
+			'article_open_on_website' => 'when article is opened on its original website',
+			'article_viewed' => 'when article is viewed',
+			'scroll' => 'while scrolling',
+			'upon_reception' => 'upon reception of the article',
+			'when' => 'Mark article as read…',
+		),
+		'show' => array(
+			'_' => 	'Articles to display',
+			'adaptive' => 'Adjust showing',
+			'all_articles' => 'Show all articles',
+			'unread' => 'Show only unread',
+		),
+		'sort' => array(
+			'_' => 'Sort order',
+			'newer_first' => 'Newer first',
+			'older_first' => 'Oldest first',
+		),
+		'sticky_post' => 'Stick the article to the top when opened',
+		'title' => 'Reading',
+		'view' => array(
+			'default' => 'Default view',
+			'global' => 'Global view',
+			'normal' => 'Normal view',
+			'reader' => 'Reading view',
+		),
+	),
+	'sharing' => array(
+		'_' => 'Sharing',
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => 'Email',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'more_information' => 'More information',
+		'print' => 'Print',
+		'shaarli' => 'Shaarli',
+		'share_name' => 'Share name to display',
+		'share_url' => 'Share URL to use',
+		'title' => 'Sharing',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag',
+	),
+	'shortcut' => array(
+		'_' => 'Shortcuts',
+		'article_action' => 'Article actions',
+		'auto_share' => 'Share',
+		'auto_share_help' => 'If there is only one sharing mode, it is used. Else modes are accessible by their number.',
+		'close_dropdown' => 'Close menus',
+		'collapse_article' => 'Collapse',
+		'first_article' => 'Skip to the first article',
+		'focus_search' => 'Access search box',
+		'help' => 'Display documentation',
+		'javascript' => 'JavaScript must be enabled in order to use shortcuts',
+		'last_article' => 'Skip to the last article',
+		'load_more' => 'Load more articles',
+		'mark_read' => 'Mark as read',
+		'mark_favorite' => 'Mark as favourite',
+		'navigation' => 'Navigation',
+		'navigation_help' => 'With the "Shift" modifier, navigation shortcuts apply on feeds.<br/>With the "Alt" modifier, navigation shortcuts apply on categories.',
+		'next_article' => 'Skip to the next article',
+		'other_action' => 'Other actions',
+		'previous_article' => 'Skip to the previous article',
+		'see_on_website' => 'See on original website',
+		'shift_for_all_read' => '+ <code>shift</code> to mark all articles as read',
+		'title' => 'Shortcuts',
+		'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.',
+	),
+	'user' => array(
+		'articles_and_size' => '%s articles (%s)',
+		'current' => 'Current user',
+		'is_admin' => 'is administrator',
+		'users' => 'Users',
+	),
+);

+ 110 - 0
app/i18n/ru_RU.utf8/feedback.php

@@ -0,0 +1,110 @@
+<?php
+
+return array(
+	'admin' => array(
+		'optimization_complete' => 'Optimisation complete',
+	),
+	'access' => array(
+		'denied' => 'You don’t have permission to access this page',
+		'not_found' => 'You are looking for a page which doesn’t exist',
+	),
+	'auth' => array(
+		'form' => array(
+			'not_set' => 'A problem occured during authentication system configuration. Please retry later.',
+			'set' => 'Form is now your default authentication system.',
+		),
+		'login' => array(
+			'invalid' => 'Login is invalid',
+			'success' => 'You are connected',
+		),
+		'logout' => array(
+			'success' => 'You are disconnected',
+		),
+		'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.',
+		'not_persona' => 'Only Persona system can be reset.',
+	),
+	'conf' => array(
+		'error' => 'An error occurred during configuration saving',
+		'query_created' => 'Query "%s" has been created.',
+		'shortcuts_updated' => 'Shortcuts have been updated',
+		'updated' => 'Configuration has been updated',
+	),
+	'extensions' => array(
+		'already_enabled' => '%s is already enabled',
+		'disable' => array(
+			'ko' => '%s cannot be disabled. <a href="%s">Check FressRSS logs</a> for details.',
+			'ok' => '%s is now disabled',
+		),
+		'enable' => array(
+			'ko' => '%s cannot be enabled. <a href="%s">Check FressRSS logs</a> for details.',
+			'ok' => '%s is now enabled',
+		),
+		'no_access' => 'You have no access on %s',
+		'not_enabled' => '%s is not enabled yet',
+		'not_found' => '%s does not exist',
+	),
+	'import_export' => array(
+		'export_no_zip_extension' => 'Zip extension is not present on your server. Please try to export files one by one.',
+		'feeds_imported' => 'Your feeds have been imported and will now be updated',
+		'feeds_imported_with_errors' => 'Your feeds have been imported but some errors occurred',
+		'file_cannot_be_uploaded' => 'File cannot be uploaded!',
+		'no_zip_extension' => 'Zip extension is not present on your server.',
+		'zip_error' => 'An error occured during Zip import.',
+	),
+	'sub' => array(
+		'actualize' => 'Actualise',
+		'category' => array(
+			'created' => 'Category %s has been created.',
+			'deleted' => 'Category has been deleted.',
+			'emptied' => 'Category has been emptied',
+			'error' => 'Category cannot be updated',
+			'name_exists' => 'Category name already exists.',
+			'no_id' => 'You must precise the id of the category.',
+			'no_name' => 'Category name cannot be empty.',
+			'not_delete_default' => 'You cannot delete the default category!',
+			'not_exist' => 'The category does not exist!',
+			'over_max' => 'You have reached your limit of categories (%d)',
+			'updated' => 'Category has been updated.',
+		),
+		'feed' => array(
+			'actualized' => '<em>%s</em> has been updated',
+			'actualizeds' => 'RSS feeds have been updated',
+			'added' => 'RSS feed <em>%s</em> has been added',
+			'already_subscribed' => 'You have already subscribed to <em>%s</em>',
+			'deleted' => 'Feed has been deleted',
+			'error' => 'Feed cannot be updated',
+			'internal_problem' => 'The RSS feed could not be added. <a href="%s">Check FressRSS logs</a> for details.',
+			'invalid_url' => 'URL <em>%s</em> is invalid',
+			'marked_read' => 'Feeds have been marked as read',
+			'n_actualized' => '%d feeds have been updated',
+			'n_entries_deleted' => '%d articles have been deleted',
+			'no_refresh' => 'There is no feed to refresh…',
+			'not_added' => '<em>%s</em> could not be added',
+			'over_max' => 'You have reached your limit of feeds (%d)',
+			'updated' => 'Feed has been updated',
+		),
+		'purge_completed' => 'Purge completed (%d articles deleted)',
+	),
+	'update' => array(
+		'can_apply' => 'FreshRSS will now be updated to the <strong>version %s</strong>.',
+		'error' => 'The update process has encountered an error: %s',
+		'file_is_nok' => 'Check permissions on <em>%s</em> directory. HTTP server must have rights to write into',
+		'finished' => 'Update completed!',
+		'none' => 'No update to apply',
+		'server_not_found' => 'Update server cannot be found. [%s]',
+	),
+	'user' => array(
+		'created' => array(
+			'_' => 'User %s has been created',
+			'error' => 'User %s cannot be created',
+		),
+		'deleted' => array(
+			'_' => 'User %s has been deleted',
+			'error' => 'User %s cannot be deleted',
+		),
+	),
+	'profile' => array(
+		'error' => 'Your profile cannot be modified',
+		'updated' => 'Your profile has been modified',
+	),
+);

+ 181 - 0
app/i18n/ru_RU.utf8/gen.php

@@ -0,0 +1,181 @@
+<?php
+
+return array(
+	'action' => array(
+		'actualize' => 'Actualize',
+		'back_to_rss_feeds' => '← Go back to your RSS feeds',
+		'cancel' => 'Cancel',
+		'create' => 'Create',
+		'disable' => 'Disable',
+		'empty' => 'Empty',
+		'enable' => 'Enable',
+		'export' => 'Export',
+		'filter' => 'Filter',
+		'import' => 'Import',
+		'manage' => 'Manage',
+		'mark_read' => 'Mark as read',
+		'mark_favorite' => 'Mark as favourite',
+		'remove' => 'Remove',
+		'see_website' => 'See website',
+		'submit' => 'Submit',
+		'truncate' => 'Delete all articles',
+	),
+	'auth' => array(
+		'email' => 'Email address',
+		'keep_logged_in' => 'Keep me logged in <small>(1 month)</small>',
+		'login' => 'Login',
+		'login_persona' => 'Login with Persona',
+		'login_persona_problem' => 'Connection problem with Persona?',
+		'logout' => 'Logout',
+		'password' => array(
+			'_' => 'Password',
+			'format' => '<small>At least 7 characters</small>',
+		),
+		'registration' => array(
+			'_' => 'New account',
+			'ask' => 'Create an account?',
+			'title' => 'Account creation',
+		),
+		'reset' => 'Authentication reset',
+		'username' => array(
+			'_' => 'Username',
+			'admin' => 'Administrator username',
+			'format' => '<small>maximum 16 alphanumeric characters</small>',
+		),
+		'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.',
+	),
+	'date' => array(
+		'Apr' => '\\A\\p\\r\\i\\l',
+		'Aug' => '\\A\\u\\g\\u\\s\\t',
+		'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r',
+		'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y',
+		'Jan' => '\\J\\a\\n\\u\\a\\r\\y',
+		'Jul' => '\\J\\u\\l\\y',
+		'Jun' => '\\J\\u\\n\\e',
+		'Mar' => '\\M\\a\\r\\c\\h',
+		'May' => '\\M\\a\\y',
+		'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r',
+		'Oct' => '\\O\\c\\t\\o\\b\\e\\r',
+		'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r',
+		'apr' => 'apr',
+		'april' => 'Apr',
+		'aug' => 'aug',
+		'august' => 'Aug',
+		'before_yesterday' => 'Before yesterday',
+		'dec' => 'dec',
+		'december' => 'Dec',
+		'feb' => 'feb',
+		'february' => 'Feb',
+		'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y',
+		'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i',
+		'fri' => 'Fri',
+		'jan' => 'jan',
+		'january' => 'Jan',
+		'jul' => 'jul',
+		'july' => 'Jul',
+		'jun' => 'jun',
+		'june' => 'Jun',
+		'last_3_month' => 'Last three months',
+		'last_6_month' => 'Last six months',
+		'last_month' => 'Last month',
+		'last_week' => 'Last week',
+		'last_year' => 'Last year',
+		'mar' => 'mar',
+		'march' => 'Mar',
+		'may' => 'May',
+		'mon' => 'Mon',
+		'month' => 'months',
+		'nov' => 'nov',
+		'november' => 'Nov',
+		'oct' => 'oct',
+		'october' => 'Oct',
+		'sat' => 'Sat',
+		'sep' => 'sep',
+		'september' => 'Sep',
+		'sun' => 'Sun',
+		'thu' => 'Thu',
+		'today' => 'Today',
+		'tue' => 'Tue',
+		'wed' => 'Wed',
+		'yesterday' => 'Yesterday',
+	),
+	'freshrss' => array(
+		'_' => 'FreshRSS',
+		'about' => 'About FreshRSS',
+	),
+	'js' => array(
+		'category_empty' => 'Empty category',
+		'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!',
+		'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!',
+		'feedback' => array(
+			'body_new_articles' => 'There are \\d new articles to read on FreshRSS.',
+			'request_failed' => 'A request has failed, it may have been caused by Internet connection problems.',
+			'title_new_articles' => 'FreshRSS: new articles!',
+		),
+		'new_article' => 'There are new available articles, click to refresh the page.',
+		'should_be_activated' => 'JavaScript must be enabled',
+	),
+	'lang' => array(
+		'cz' => 'Čeština',
+		'de' => 'Deutsch',
+		'en' => 'English',
+		'fr' => 'Français',
+		'it' => 'Italiano',
+		'nl' => 'Nederlands',
+	),
+	'menu' => array(
+		'about' => 'About',
+		'admin' => 'Administration',
+		'archiving' => 'Archiving',
+		'authentication' => 'Authentication',
+		'check_install' => 'Installation checking',
+		'configuration' => 'Configuration',
+		'display' => 'Display',
+		'extensions' => 'Extensions',
+		'logs' => 'Logs',
+		'queries' => 'User queries',
+		'reading' => 'Reading',
+		'search' => 'Search words or #tags',
+		'sharing' => 'Sharing',
+		'shortcuts' => 'Shortcuts',
+		'stats' => 'Statistics',
+		'system' => 'System configuration',
+		'update' => 'Update',
+		'user_management' => 'Manage users',
+		'user_profile' => 'Profile',
+	),
+	'pagination' => array(
+		'first' => 'First',
+		'last' => 'Last',
+		'load_more' => 'Load more articles',
+		'mark_all_read' => 'Mark all as read',
+		'next' => 'Next',
+		'nothing_to_load' => 'There are no more articles',
+		'previous' => 'Previous',
+	),
+	'share' => array(
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => 'Email',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'movim' => 'Movim',
+		'print' => 'Print',
+		'shaarli' => 'Shaarli',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag',
+	),
+	'short' => array(
+		'attention' => 'Warning!',
+		'blank_to_disable' => 'Leave blank to disable',
+		'by_author' => 'By <em>%s</em>',
+		'by_default' => 'By default',
+		'damn' => 'Damn!',
+		'default_category' => 'Uncategorized',
+		'no' => 'No',
+		'not_applicable' => 'Not available',
+		'ok' => 'Ok!',
+		'or' => 'or',
+		'yes' => 'Yes',
+	),
+);

+ 61 - 0
app/i18n/ru_RU.utf8/index.php

@@ -0,0 +1,61 @@
+<?php
+
+return array(
+	'about' => array(
+		'_' => 'About',
+		'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>',
+		'bugs_reports' => 'Bugs reports',
+		'credits' => 'Credits',
+		'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://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a>. Favicons are collected with <a href="https://getfavicon.appspot.com/">getFavicon API</a>. FreshRSS is based on <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, a PHP framework.',
+		'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="http://projet.idleman.fr/leed/">Leed</a>. It is light and easy to take in hand while being powerful and configurable tool.',
+		'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">on Github</a>',
+		'license' => 'License',
+		'project_website' => 'Project website',
+		'title' => 'About',
+		'version' => 'Version',
+		'website' => 'Website',
+	),
+	'feed' => array(
+		'add' => 'You may add some feeds.',
+		'empty' => 'There is no article to show.',
+		'rss_of' => 'RSS feed of %s',
+		'title' => 'Your RSS feeds',
+		'title_global' => 'Global view',
+		'title_fav' => 'Your favourites',
+	),
+	'log' => array(
+		'_' => 'Logs',
+		'clear' => 'Clear the logs',
+		'empty' => 'Log file is empty',
+		'title' => 'Logs',
+	),
+	'menu' => array(
+		'about' => 'About FreshRSS',
+		'add_query' => 'Add a query',
+		'before_one_day' => 'Before one day',
+		'before_one_week' => 'Before one week',
+		'favorites' => 'Favourites (%s)',
+		'global_view' => 'Global view',
+		'main_stream' => 'Main stream',
+		'mark_all_read' => 'Mark all as read',
+		'mark_cat_read' => 'Mark category as read',
+		'mark_feed_read' => 'Mark feed as read',
+		'newer_first' => 'Newer first',
+		'non-starred' => 'Show all but favorites',
+		'normal_view' => 'Normal view',
+		'older_first' => 'Oldest first',
+		'queries' => 'User queries',
+		'read' => 'Show only read',
+		'reader_view' => 'Reading view',
+		'rss_view' => 'RSS feed',
+		'search_short' => 'Search',
+		'starred' => 'Show only favorites',
+		'stats' => 'Statistics',
+		'subscription' => 'Subscriptions management',
+		'unread' => 'Show only unread',
+	),
+	'share' => 'Share',
+	'tag' => array(
+		'related' => 'Related tags',
+	),
+);

+ 113 - 0
app/i18n/ru_RU.utf8/install.php

@@ -0,0 +1,113 @@
+<?php
+
+return array(
+	'action' => array(
+		'finish' => 'Завершить установку',
+		'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить  к следующему этапу.',
+		'keep_install' => 'Сохранить предыдущую установку',
+		'next_step' => 'Перейти к следующему этапу',
+		'reinstall' => 'Переустановить FreshRSS',
+	),
+	'auth' => array(
+		'email_persona' => 'Почта (логин) для <br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>',
+		'form' => 'Вэб-форма (традиционный, необходим JavaScript)',
+		'http' => 'HTTP (для продвинутых пользователей с HTTPS)',
+		'none' => 'Никакого (опасно)',
+		'password_form' => 'Пароль<br /><small>(для метода аутентификации на Вэб-формах)</small>',
+		'password_format' => 'Как минимум 7 букв',
+		'persona' => 'Mozilla Persona (современный, необходим JavaScript)',
+		'type' => 'Метод аутентификации',
+	),
+	'bdd' => array(
+		'_' => 'База данных',
+		'conf' => array(
+			'_' => 'Конфигурация базы данныхDatabase configuration',
+			'ko' => 'Проверьте конфигурацию базы данных.',
+			'ok' => 'Конфигурация базы данных сохранена.',
+		),
+		'host' => 'Хост',
+		'prefix' => 'Префикс таблицы',
+		'password' => 'Пароль HTTP',
+		'type' => 'Тип базы данных',
+		'username' => 'Имя пользователя HTTP',
+	),
+	'check' => array(
+		'_' => 'Проверки',
+		'already_installed' => 'Обнаружена предыдущая установка FreshRSS!',
+		'cache' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/cache</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку кэша в порядке.',
+		),
+		'ctype' => array(
+			'nok' => 'У вас не установлена необходимая библиотека для проверки типов символов (php-ctype).',
+			'ok' => 'У вас установлена необходимая библиотека для проверки типов символов (ctype).',
+		),
+		'curl' => array(
+			'nok' => 'У вас нет расширения cURL (пакет php5-curl).',
+			'ok' => 'У вас установлено расширение cURL.',
+		),
+		'data' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на <em>./data/</em> в порядке.',
+		),
+		'dom' => array(
+			'nok' => 'У вас не установлена необходимая библиотека для просмотра DOM (пакет php-xml).',
+			'ok' => 'У вас установлена необходимая библиотека для просмотра DOM.',
+		),
+		'favicons' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/favicons</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку значков в порядке.',
+		),
+		'http_referer' => array(
+			'nok' => 'Убедитесь, что вы не изменяете ваш HTTP REFERER.',
+			'ok' => 'Ваш HTTP REFERER известен и соотвествует вашему серверу.',
+		),
+		'minz' => array(
+			'nok' => 'У вас не установлен фрейворк Minz.',
+			'ok' => 'У вас установлен фрейворк Minz.',
+		),
+		'pcre' => array(
+			'nok' => 'У вас не установлена необходимая библиотека для работы с регулярными выражениями (php-pcre).',
+			'ok' => 'У вас установлена необходимая библиотека для работы с регулярными выражениями (PCRE).',
+		),
+		'pdo' => array(
+			'nok' => 'У вас не установлен PDO или один из необходимых драйверов (pdo_mysql, pdo_sqlite).',
+			'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).',
+		),
+		'persona' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/persona</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку Mozilla Persona в порядке.',
+		),
+		'php' => array(
+			'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.',
+			'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.',
+		),
+		'users' => array(
+			'nok' => 'Проверьте права доступа к папке <em>./data/users</em> . Сервер HTTP должен иметь права на запись в эту папку.',
+			'ok' => 'Права на папку users  в порядке.',
+		),
+	),
+	'conf' => array(
+		'_' => 'Общие настройки',
+		'ok' => 'Общие настройки были сохранены.',
+	),
+	'congratulations' => 'Поздравляем!',
+	'default_user' => 'Имя пользователя по умолчанию <small>(максимум 16 латинских букв и/или цифр)</small>',
+	'delete_articles_after' => 'Удалять статьи после',
+	'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить  к следующему этапу..',
+	'javascript_is_better' => 'FreshRSS принесёт больше удовольствия, если включить JavaScript',
+	'js' => array(
+		'confirm_reinstall' => 'Переустанавливая FreshRSS, вы потеряете предыдущую конфигурацию. Вы хотите продолжить?',
+	),
+	'language' => array(
+		'_' => 'Язык',
+		'choose' => 'Выберите язык для FreshRSS',
+		'defined' => 'Язык выбран.',
+	),
+	'not_deleted' => 'Что-то пошло не так; удалите файл <em>%s</em> вручную.',
+	'ok' => 'Установка успешна.',
+	'step' => '%d этап',
+	'steps' => 'Этапы',
+	'title' => 'Установка · FreshRSS',
+	'this_is_the_end' => 'Это конец',
+);

+ 62 - 0
app/i18n/ru_RU.utf8/sub.php

@@ -0,0 +1,62 @@
+<?php
+
+return array(
+	'category' => array(
+		'_' => 'Category',
+		'add' => 'Add a category',
+		'empty' => 'Empty category',
+		'new' => 'New category',
+	),
+	'feed' => array(
+		'add' => 'Add a RSS feed',
+		'advanced' => 'Advanced',
+		'archiving' => 'Archivage',
+		'auth' => array(
+			'configuration' => 'Login',
+			'help' => 'Connection allows to access HTTP protected RSS feeds',
+			'http' => 'HTTP Authentication',
+			'password' => 'HTTP password',
+			'username' => 'HTTP username',
+		),
+		'css_help' => 'Retrieves truncated RSS feeds (caution, requires more time!)',
+		'css_path' => 'Articles CSS path on original website',
+		'description' => 'Description',
+		'empty' => 'This feed is empty. Please verify that it is still maintained.',
+		'error' => 'This feed has encountered a problem. Please verify that it is always reachable then actualize it.',
+		'in_main_stream' => 'Show in main stream',
+		'informations' => 'Information',
+		'keep_history' => 'Minimum number of articles to keep',
+		'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.',
+		'no_selected' => 'No feed selected.',
+		'number_entries' => '%d articles',
+		'stats' => 'Statistics',
+		'think_to_add' => 'You may add some feeds.',
+		'title' => 'Title',
+		'title_add' => 'Add a RSS feed',
+		'ttl' => 'Do not automatically refresh more often than',
+		'url' => 'Feed URL',
+		'validator' => 'Check the validity of the feed',
+		'website' => 'Website URL',
+		'pubsubhubbub' => 'Instant notification with PubSubHubbub',
+	),
+	'import_export' => array(
+		'export' => 'Export',
+		'export_opml' => 'Export list of feeds (OPML)',
+		'export_starred' => 'Export your favourites',
+		'feed_list' => 'List of %s articles',
+		'file_to_import' => 'File to import<br />(OPML, Json or Zip)',
+		'file_to_import_no_zip' => 'File to import<br />(OPML or Json)',
+		'import' => 'Import',
+		'starred_list' => 'List of favourite articles',
+		'title' => 'Import / export',
+	),
+	'menu' => array(
+		'bookmark' => 'Subscribe (FreshRSS bookmark)',
+		'import_export' => 'Import / export',
+		'subscription_management' => 'Subscriptions management',
+	),
+	'title' => array(
+		'_' => 'Subscriptions management',
+		'feed_management' => 'RSS feeds management',
+	),
+);