diff --git a/locales/ru.json b/locales/ru.json
new file mode 100644
index 0000000000..8206f556f5
--- /dev/null
+++ b/locales/ru.json
@@ -0,0 +1,1123 @@
+{
+ "lang": "ru",
+ "rules": {
+ "accesskeys": {
+ "description": "Убедитесь, что значение атрибута accesskey является уникальным",
+ "help": "Значение атрибута accesskey должно быть уникальным"
+ },
+ "area-alt": {
+ "description": "Убедитесь, что элементы карт изображений имеют альтернативный текст",
+ "help": "Активные элементы должны иметь альтернативный текст"
+ },
+ "aria-allowed-attr": {
+ "description": "Убедитесь, что роль элемента поддерживает его ARIA атрибуты",
+ "help": "Элементы должны использовать только поддерживаемые ARIA атрибуты"
+ },
+ "aria-allowed-role": {
+ "description": "Убедитесь, что атрибут role имеет допустимое значение для элемента",
+ "help": "ARIA роль должна быть подходящей для элемента"
+ },
+ "aria-braille-equivalent": {
+ "description": "Убедитесь, что aria-braillelabel и aria-brailleroledescription имеют эквивалентный текст не для шрифта Брайля",
+ "help": "Атрибуты aria-braille должны иметь эквивалентный текст не для шрифта Брайля"
+ },
+ "aria-command-name": {
+ "description": "Убедитесь, что каждая ARIA кнопка, ссылка и пункт меню имеет доступное имя",
+ "help": "ARIA команды должны иметь доступное имя"
+ },
+ "aria-conditional-attr": {
+ "description": "Убедитесь, что ARIA атрибуты используются в соответствии со спецификацией роли элемента",
+ "help": "ARIA атрибуты должны использоваться в соответствии с ролью элемента"
+ },
+ "aria-deprecated-role": {
+ "description": "Убедитесь, что элементы не используют устаревшие роли",
+ "help": "Устаревшие ARIA роли не должны использоваться"
+ },
+ "aria-dialog-name": {
+ "description": "Убедитесь, что каждая ARIA диалоговая форма и alertdialog узел имеют доступное имя",
+ "help": "ARIA диалоговые формы и alertdialog узлы должны иметь доступное имя"
+ },
+ "aria-hidden-body": {
+ "description": "Убедитесь, что aria-hidden=\"true\" отсутствует на теле документа.",
+ "help": "aria-hidden=\"true\" не должно присутствовать на теле документа"
+ },
+ "aria-hidden-focus": {
+ "description": "Убедитесь, что aria-hidden элементы не могут быть сфокусированы и не содержат фокусируемых элементов",
+ "help": "ARIA скрытые элементы не должны быть фокусируемыми или содержать фокусируемые элементы"
+ },
+ "aria-input-field-name": {
+ "description": "Убедитесь, что каждое ARIA поле ввода имеет доступное имя",
+ "help": "ARIA поля ввода должны иметь доступное имя"
+ },
+ "aria-meter-name": {
+ "description": "Убедитесь, что каждый ARIA meter узел имеет доступное имя",
+ "help": "ARIA meter узлы должны иметь доступное имя"
+ },
+ "aria-progressbar-name": {
+ "description": "Убедитесь, что каждый ARIA progressbar узел имеет доступное имя",
+ "help": "ARIA progressbar узлы должны иметь доступное имя"
+ },
+ "aria-prohibited-attr": {
+ "description": "Убедитесь, что ARIA атрибуты не запрещены для роли элемента",
+ "help": "Элементы должны использовать только разрешенные ARIA атрибуты"
+ },
+ "aria-required-attr": {
+ "description": "Убедитесь, что элементы с ARIA ролями имеют все необходимые ARIA атрибуты",
+ "help": "Необходимые ARIA атрибуты должны быть предоставлены"
+ },
+ "aria-required-children": {
+ "description": "Убедитесь, что элементы с ARIA ролями, требующими дочерние роли, содержат их",
+ "help": "Некоторые ARIA роли должны содержать определенные дочерние роли"
+ },
+ "aria-required-parent": {
+ "description": "Убедитесь, что элементы с ARIA ролями, требующими родительские роли, содержатся ими",
+ "help": "Некоторые ARIA роли должны содержаться в определенных родительских ролях"
+ },
+ "aria-roledescription": {
+ "description": "Убедитесь, что aria-roledescription используется только на элементах с явной или неявной ролью",
+ "help": "aria-roledescription должен использоваться на элементах с семантической ролью"
+ },
+ "aria-roles": {
+ "description": "Убедитесь, что все элементы с атрибутом role используют допустимое значение",
+ "help": "ARIA роли должны соответствовать допустимым значениям"
+ },
+ "aria-text": {
+ "description": "Убедитесь, что роль=\"text\" используется на элементах без фокусируемых потомков",
+ "help": "\"роль=text\" не должна иметь фокусируемых потомков"
+ },
+ "aria-toggle-field-name": {
+ "description": "Убедитесь, что каждое ARIA toggle поле имеет доступное имя",
+ "help": "ARIA toggle поля должны иметь доступное имя"
+ },
+ "aria-tooltip-name": {
+ "description": "Убедитесь, что каждый ARIA tooltip узел имеет доступное имя",
+ "help": "ARIA tooltip узлы должны иметь доступное имя"
+ },
+ "aria-treeitem-name": {
+ "description": "Убедитесь, что каждый ARIA treeitem узел имеет доступное имя",
+ "help": "ARIA treeitem узлы должны иметь доступное имя"
+ },
+ "aria-valid-attr-value": {
+ "description": "Убедитесь, что все ARIA атрибуты имеют допустимые значения",
+ "help": "ARIA атрибуты должны соответствовать допустимым значениям"
+ },
+ "aria-valid-attr": {
+ "description": "Убедитесь, что атрибуты, начинающиеся с aria-, являются допустимыми ARIA атрибутами",
+ "help": "ARIA атрибуты должны соответствовать допустимым именам"
+ },
+ "audio-caption": {
+ "description": "Убедитесь, что элементы