Сегодня мы рассмотрим такой сложный вопрос, как локализация Мадженто, т.е. перевод системы на нужный нам язык. Тема серьезная, поэтому я постараюсь как можно детальнее ее осветить.
Сначала немного теории:
Теперь перейдем от теории к практике.
Чтобы перевести статическое содержимое установим готовый русский перевод через Мадженто Коннект (здесь более детально описано, как это сделать на примере установки новой темы).
Вся установка сводится к тому, что мы добавим в систему новую папку с файлами переводов. Когда вы зайдете по FTP на свой хостинг по адресу [magento_root]/app/locale/, то вы увидите там новую папку ru_RU с кучей файлов в формате .csv – эти файлы и отвечают за перевод файлов PHP.
Как это работает?
Если вы откройте любой файл .csv в папке ru_RU через Notepad++ (лучше всего), то вы увидите попарные значения в строках, заключенные в кавычки и разделенные запятыми, например, «24 Hours»,»24 часа».
Так и работает перевод в Мадженто: в первой паре кавычек заключено системное значение («24 Hours«), а во второй паре («24 часа«) – его перевод. Эти пары значений разделяются запятой без пробелов, и каждая пара начинается с новой строки.
Системное значение берется с PHP-кода вида <?php echo $this__(‘Word’); ?>, где ‘Word’ – значение для перевода. Теперь, если мы запишем в подходящем файле .csv строку «Word»,»Слово» – то мы скажем движку, чтобы он найденные значения ‘Word’ выводил на экран как ‘Слово‘.
Еще не запутались? Надеюсь, что нет!
Идем дальше и еще немного теории:
Попробуйте изменять значения в файлах переводов и увидите, как это работает на практике.
Чтобы задействовать файлы локализации перейдите в админпанели System > Configuration, затем в левом блоке меню General выберите вкладку Countries Options. В выпадающем списке Default Country выберите «Russia», а во вкладке Locale Options – Locale выберите Russian (Russia). Сохраните конфигурацию, нажав Save Config. Обновите кеш (в System > Cache Management). Теперь, если вы обновите главную страниц сайта, то увидите, что стали появляться русские буквы. Но часть контента останется не переведенной, поскольку является динамическим содержимым (упомянутым выше).
Есть еще и 3-й способ – перевод через фронт-энд (с помощью инструмента «Translate Inline»).
Translate Inline, другими словами «построчный перевод», позволяет осуществлять перевод прямо в браузере. Когда вы включите инструмент Translate Inline, на странице сайта будут появляться иконки книжечек возле слов, которые доступны для перевода. Чтобы перевести необходимое слово, нажмите на иконку книжечки и во всплывающем окне введите свой вариант перевода. Обновите страницу, чтобы увидеть новый перевод в действии.
Чтобы включить инструмент, перейдите System > Configuration и в самом низу левого меню выберите Developer (Средства разработчика). Опция включается в секции Translate Inline (Enabled for Frontend — Yes, Enabled for Admin — Yes).
Особенности такого перевода:
Вот мы и разобрали сложную тему по локализации Magento на русский язык. Надеюсь, что вам данный материал пригодится.
P.S. Практика показывает, что при работе с Мадженто приходится использовать все 3 рассмотренных способа:(
Если у вас есть вопросы или замечания – буду рад ответить на них в комментариях к данной теме!
Выбор мастера для ремонта и перетяжки мебели — задача, которая требует вдумчивого подхода. Ведь от…
Выбор идеального хостинга под свой сайт может быть довольно запутанным делом, особенно когда существует так…
Чтобы избегать ошибок, нужно набираться опыта; чтобы набираться опыта, надо делать ошибки Лоуренс Питер
Краткое определение Черного SEO Черное СЕО (или Черная оптимизация) — это любая практика, целью которой…
Получение водительских прав категории C открывает двери к профессиональной деятельности, связанной с управлением грузовыми автомобилями.…
View Comments
Здраствуйте Анатолий! Я установил русский pack для магенто который размещён в сообществе магенто, за что благодарен Вам как автору.
Более того, мне нужно установить еще один pack с поддержкой азербайджанского языка, но к сожалению, нигде не могу его найти. Вы не могли бы мне помочь с этим вопросом?
Здравствуйте, Абульфаз! Поддержки азербайджанского языка я тоже не нашел:(
Могу порекомендовать только - самому создать такой перевод (ничего сложного).
- используйте этот урок в качестве мануала
-- создайте у себя на хостинге в папке app/locale/ папку az_AZ (для азербайджанского)
-- скопируйте все файлы из папки app/locale/ru_RU/ в эту новую папку
-- открывайте все файлы в новой папке app/locale/az_AZ/ и там, где русские слова - заменяйте на свой язык
-- сохраняйте, проверяйте - должно работать!
Здравствуйте! Создал магазин с двумя витринами русской и английской. Помогите, пожалуйста, понять как добавлять категории, чтобы можно было заполнить на двух языках?
Здравствуйте! Вам нужно в админке, в левом верхнем меню выбирать представление магазина. Если по умолчанию (Default Config) заполнить карточку категории, то эта информация будет представлена одинаково во всех вариантах сайта. Для разных языков нужно создать свой перевод: заходите в Каталог-Управление категориями -- создаете категорию (выбрав в левом меню соответствующий язык в разделе: Choose Store View). Заполняете информацию, убрав галочку справа каждого поля "Использовать значение по умолчанию" - сохраняете. После этого переключаете вид магазина на другой язык и снова заполняете карточку категории уже на другом языке, убрав галочку справа каждого поля "Использовать значение по умолчанию".
Здравствуйте такой вопрос локализация не работает для некоторых модулей я так понимаю в папке с локализацией модуля аналогичным образом добавлять файл ru-RU или там другая процедура перевода ?