diff --git a/sm-shop/src/main/resources/bundles/messages_ru.properties b/sm-shop/src/main/resources/bundles/messages_ru.properties
new file mode 100644
index 0000000..11c1e91
--- /dev/null
+++ b/sm-shop/src/main/resources/bundles/messages_ru.properties
@@ -0,0 +1,211 @@
+message.success=Запрос успешно завершён
+message.error=Ошибка произошла во время запроса
+message.email.success=Сообщение было отправлено
+message.productreview.created=Вы успешно создали обзор на продукт
+message.email.error=Ошибка произошла во время отправки вашего сообщения
+message.access.denied=Доступ запрещён
+message.error.shoppingcart.update=Произошла ошибка во время обновления корзины
+message.username.password=Не получилось выполнить вход. Пароль или имя неверны.
+message.resource.notfound=Запрошенная страница не существует
+message.fielderror=Ошибка поля
+message.timeout=Время сессии истекло
+message.error.shipping=Ошибка произошла во время оценки стоимости доставки
+NotEmpty=Поле обязательно к заполнению
+password.notequal=Пароли должны совпадать
+
+NotEmpty.store.storename=The store name should not be empty
+NotEmpty.store.storeEmailAddress=Store email address should not be empty
+Email.store.storeEmailAddress=Store email address is invalid
+NotEmpty.product.productPrice=The product price must be specified
+NotEmpty.product.manufacturer=The product manufacturer is required
+NotEmpty.price.code=The price code is required
+Pattern.price.code=The price code must be alphanumeric
+Pattern.product.sku=The sku must be alphanumeric
+Pattern.merchant.code=The merchant store code must be alphanumeric
+Pattern.optionValue.code=The code must be alphanumeric
+NotEmpty.optionValue.code=The code should not be empty
+Pattern.option.code=The code must be alphanumeric
+NotEmpty.option.code=The code should not be empty
+NotEmpty.keyword.keyword=The keyword cannot be empty
+NotEmpty.review.description=Your opinion is required
+NotEmpty.group.groupType=Group type is required
+NotEmpty.group.groupName=Group name is required
+
+NotEmpty.customer.userName=User name is required
+NotEmpty.customer.firstName=First name is required
+NotEmpty.customer.lastName=Last name is required
+NotEmpty.customer.address=Street address is required
+NotEmpty.customer.address2=Street address is required
+NotEmpty.customer.postalCode=Postal code is required
+NotEmpty.customer.stateProvince=State / Province is required
+NotEmpty.customer.phone=Phone number is required
+NotEmpty.customer.city=City is required
+NotEmpty.customer.agreement=Please agree to our terms and conditions
+
+NotEmpty.origin.address=Street address is required
+NotEmpty.origin.postalCode=Postal code is required
+NotEmpty.origin.city=City is required
+NotEmpty.origin.country=Country is required
+
+NotEmpty.customer.emailAddress=Email address is required
+Email.customer.emailAddress=Email address is invalid
+NotEmpty.customer.billing.phone=Phone number is required
+NotEmpty.customer.billing.address=Street address is required
+NotEmpty.customer.billing.city=City is required
+NotEmpty.customer.billing.postalCode=Postal code is required
+NotEmpty.customer.billing.country=Country is required
+NotEmpty.customer.billing.stateProvince=State / Province is required
+
+NotEmpty.customer.shipping.firstName=Shipping first name should not be empty
+NotEmpty.customer.shipping.lastName=Shipping last name should not be empty
+NotEmpty.customer.shipping.address=Shipping street address should not be empty
+NotEmpty.customer.shipping.city=Shipping city should not be empty
+NotEmpty.customer.shipping.postalCode=Shipping postal code should not be empty
+NotEmpty.customer.shipping.phone=Shipping phone should not be empty
+NotEmpty.customer.shipping.stateProvince=Shipping State / Province is required
+
+NotEmpty.order.creditcard.number=A valid credit card number is required
+NotEmpty.order.creditcard.name=Credit card holder's name is required
+NotEmpty.order.creditcard.cvv=Credit card validation digit is required
+NotEmpty.contact.name=Contact name is required
+NotEmpty.contact.subject=Contact subject is required
+NotEmpty.contact.comment=Comment is required
+Email.contact.email=Email format is invalid
+NotEmpty.contact.captchaResponseField=Captcha answer is required
+NotEmpty.contact.captchaChallengeField=Captcha challenge question is required
+
+message.order.canprocess=The order can be completed
+message.name.required=The object name is required
+
+message.code.exist=This code already exist
+message.name.exist=This name already exist
+message.invalid.amount=Invalid amount
+message.region.exists=Region already exist
+message.region.null=Region cannot be empty
+message.invalid.price=Price format is invalid
+message.invalid.rate=Rate format is invalid
+message.invalid.date=Invalid date format
+message.maximumWeight.null=Maximum weight cannot be empty
+message.maximumWeight.invalid=Maximum weight needs to be greater than 0
+message.unauthorized=This transaction cannot be completed
+message.code.available=This code is available
+message.image.height=Image height too large
+message.image.width=Image width too large
+message.image.size=Image too big
+message.number.invalid=Must be a valid number (eg 5)
+message.productoption.required=A product attribute/option is required
+message.productoptionvalue.required=A product attribute/option value is required
+message.product.language=The product has not been configured with this language. Edit the product and configure it with this language.
+
+message.password.required=A password is required
+message.password.repeat.required=Repeated password is required
+message.username.required=User name is required
+message.username.notfound=User name not found
+message.price.cents=Please enter a maximum of 99 cents
+message.security.cannotrevoke.superadmin=Can't revoke Super Admin group
+message.cannot.empty=can't be empty
+message.password.different=New password and repeat password must be identical
+message.password.invalid=Invalid password
+message.password.length=Password must be at least 6 characters
+message.password.reset=Password has been reset
+message.password.checkpassword.identical=Both password must match
+message.credentials.reset=Credentials have been changed
+
+message.security.caanotremovesuperadmin=Can't remove super admin user
+
+message.group.alerady.exists=The group {0} already exists
+message.group.required=The group is required
+
+message.product.association=This entity is attached to one or more products, remove the association before trying to delete.
+message.notexist.customer=Customer does not exist
+message.optionset.optionassociationexists=The option association already exist
+message.optionset.noassociation=Select an option and an option value
+
+messages.error.creditcard=Credit card data is invalid
+messages.error.creditcard.number=Credit card number is not valid
+messages.error.creditcard.dateformat=Credit card expiration date is invalid
+messages.error.creditcard.cvc=Credit card verification digits are invalid
+
+
+message.payment.declined=Payment transaction has been declined
+message.payment.error=Got an error while processing the payment, please use another payment method
+
+message.content.missing.agreement=Content with code 'agreement' does not exist
+
+merchant.storeId.invalid=Please provide a merchant store
+merchant.files.invalid=Please provide file(s) to be uploaded.
+merchant.zone.invalid=Store state/province is required
+
+NotEmpty.order.customerFirstName=Customer first name should not be empty
+NotEmpty.order.customerLastName=Customer last name should not be empty
+NotEmpty.order.customerStreetAddress=Customer street address should not be empty
+NotEmpty.order.customerCity=Customer city should not be empty
+NotEmpty.order.customerPostCode=Customer postal code should not be empty
+NotEmpty.order.customerTelephone=Customer phone should not be empty
+Email.order.customerEmailAddress=Customer email address is invalid
+NotEmpty.order.customerEmailAddress=Customer email address should not be empty
+
+
+NotEmpty.order.billingName=Billing name should not be empty
+NotEmpty.order.billingStreetAddress=Billing street address should not be empty
+NotEmpty.order.billingCity=Billing city should not be empty
+NotEmpty.order.billingState=Billing state should not be empty
+NotEmpty.order.billingPostCode=Billing postal code should not be empty
+
+
+NotEmpty.customer.FirstName=Customer first name should not be empty
+NotEmpty.customer.LastName=Customer last name should not be empty
+NotEmpty.customer.StreetAddress=Customer street address should not be empty
+NotEmpty.customer.City=Customer city should not be empty
+NotEmpty.customer.Country=Customer country should not be empty
+NotEmpty.customer.PostCode=Customer postal code should not be empty
+NotEmpty.customer.Telephone=Customer phone should not be empty
+Email.customer.EmailAddress=Электронная почта покупателя должна быть указана
+NotEmpty.customer.EmailAddress=Почтовый адрес покупателя должен быть указан
+
+NotEmpty.customer.billingCompany=Компания должна быть указана
+NotEmpty.customer.billingFirstName=Имя должно быть указано
+NotEmpty.customer.billingLastName=Фамилия должна быть указана
+NotEmpty.customer.billingStreetAddress=Адрес должен быть указан
+NotEmpty.customer.billingCity=Город должен быть указан
+NotEmpty.customer.billingState=Регион должен быть указан
+NotEmpty.customer.billingCountry=Страна должна быть указана
+NotEmpty.customer.billingPostCode=Почтовый индекс должен быть указан
+
+NotEmpty.customer.shippingCountry=Страна доставки должна быть указана
+
+NotEmpty.taxClass.code=Код класса налогов обязателен к заполнению
+NotEmpty.taxClass.title=Имя класса налогов должно быть указано
+message.taxclass.alreadyexist=Код класса налогов уже существует
+NotEmpty.taxRate.code=Код ставки налогов должен быть указан
+NotEmpty.taxRate.unique.code=Код ставки налогов должен быть уникальным
+NotEmpty.taxRate.rateText=Ставка налога должна быть указана
+NotEmpty.taxRateDescription.name=Имя ставки налога должно быть указано
+NotNull.taxRate.parent=Родительская ставка налога должна быть указана
+
+message.noshipping.configured=Способы доставки не настроены
+message.noshipping=Доставка невозможна
+message.noshippingerror=Доставка невозможна. Пожалуйста, проверьте указанный вами адрес.
+
+message.login.duallogin=Двойной вход систему из разных браузеров
+
+User.resetPassword.resetSuccess=Успешно изменён пароль, проверьте электронную почту
+User.resetPassword.wrongSecurityQtn=Ответ/вопрос на секретный вопрос не верен
+User.resetPassword.userNotFound=Указанный пользователь не найден
+User.resetPassword.Error=Произошла ошибка, свяжитесь с администратором
+
+validaion.recaptcha.not.matched=Проверка Recaptcha не прошла успешно
+registration.username.not.empty=Пожалуйста, укажите имя пользователя
+registration.username.length.invalid=Имя пользователя должно быть не менее 6 символов
+registration.password.not.empty=Пожалуйста, укажите пароль
+registration.firstName.invalid=Пожалуйста, укажите имя
+registration.lastName.invalid=Пожалуйста, укажите фамилию
+messages.invalid.email=Пожалуйста, укажите действующую электронную почту
+registration.username.already.exists = Пользователь с таким именем уже существует
+registration.failed=Невозможно завершить регистрацию, повторите позже
+currentpassword.not.empty=Пожалуйста, укажите текущий пароль
+newpassword.not.empty=Новый пароль должен быть указан и быть длиной не менее 6 символов
+repeatpassword.not.empty=Новый пароль должен быть указан и быть длиной не менее 6 символов
+message.invalidpassword=Неверный пароль
+
+error.code.99=Ошибка произошла во время попытки обработать запрос
\ No newline at end of file