Русский блог ET

Установка языка по умолчанию в Magento

Очень часто у начинающих разработчиков сайтов на Magento и владельцев магазинов, пытающихся самостоятельно настраивать свои магазины, возникают сложности при настройке языков. То не тот язык открывается по умолчанию, то при смене одной настройки вообще перестаёт переводиться на какой-то язык.

Хотя ничего сложного в этих настройках нет, я сам иногда трачу время на поиск нужного места в настройках. Чтобы не тратить лишнее время и родилась эта заметка.

Вводные данные

Предположим, что у вас один сайт с тремя представлениями магазина (english, french, russian), которые используются для показа пользовательской части на нужном языке.
Действия по настройкам не зависят от того, установлены или нет файлы с переводом. Но будем считать, что у вас нужные csv файлы лежат в нужных папках (/app/locale/en_US, /app/locale/fr_FR, /app/locale/ru_RU).

Все действия буду показывать на примере русского языка.

Выбор языка для панели администрирования

Если хотите включить русский язык в панели администрирования, но только на текущий сеанс работы, то после входа, выберите русский язык в левом нижнем углу (см. изображение 1)

Выбор языка для панели администрирования

Установка языка по умолчанию для панели администрирования

Для того, чтобы нужный язык был выбран сразу при заходе в панель администрирования, необходимо выбрать его для области действия “Конфигурация по умолчанию” (другими словами для Store View ID = 0).

Выберите пункт меню System -> Configuration -> General -> Locale Options. Убедитесь, что выбрана нужная область действия и установите значения для поля Locale. В нашем случае это русский.

Установка языка по умолчанию

Установка языка для каждого представления магазина (язык на пользовательской части)

Для пользовательской части за язык тоже отвечает параметр Locale, как в предыдущем абзаце. Если вы выбрали, как там указано, русский, то теперь для всех представлений магазина в пользовательской части у вас будет русский язык.
Для смены языка необходимо переключить область действия настроек на нужную, отжать галочку напротив поля Locale и выбрать другой язык.

Установка языка для представления магазина

Установка языка для представления магазина

И так повторить для всех представлений магазина. Желательно даже для русского, так как в этом случае вы избежите ситуации, когда при смене языка для панели администрирования изменится язык для представления магазина в пользовательской части.

Установка языка по умолчанию для пользовательской части

А вот настройка языка по умолчанию для пользовательской части настраивается в другом месте: System -> Manage Stores.
В этом разделе находится список ваших сайтов(Website), магазинов (Store) и представлений магазинов (Stroe View). Вам надо выбрать нужный магазин и перейти на форму редактирования. В ней выбрать нужное представление для загрузки по умолчанию (а язык для этого представления магазина мы настроили уже заранее).

Установка языка по умолчанию для пользовательской части. Выбор магазина

Установка языка по умолчанию для пользовательской части. Выбор магазина


Установка языка по умолчанию для пользовательской части. Выбор языка

Установка языка по умолчанию для пользовательской части. Выбор языка

Если посетитель зайдёт на сайт, то попадёт на представление магазина по умолчанию (язык по умолчанию). Но если он сменит язык, то этот выбор Magento запомнит в cookie и вернувшись на сайт посетитель попадёт на выбранный язык, а не на язык по умолчанию.

Comments are currently closed.

17 thoughts on “Установка языка по умолчанию в Magento

  • Евгений пишет:

    сайт упал сразу после первого способа (( – (There has been an error processing your request)

    • niro пишет:

      Выбор языка не должен приводить к падению сайта.
      Вам стоит просмотреть логи Magento (папка /var/log/*) или логи сервера.
      После нахождения текста ошибки можно будет что-то понять и делать.

  • Sergis пишет:

    установил пакет на 1.8.1 язык вроде поменялся, но в список локалей русский не добавился. что это может быть?

    • niro пишет:

      Куда именно не добавился язык? На какой странице?

      Перевод не добавляет никакие локали, он только переводит стандартные фразы.

      • sergis пишет:

        после установки в System->Default conditions и на фронте как было выбор из English/French/Deutch так и осталось. В General я все поменял на русский

        • niro пишет:

          Это ваши представления магазина и вы сами настраиваете это в панели администрирования. System -> Manage Stores. Их может быть 100, а может быть 1. При чём или все 100 могут быть с установленным русским языком или часть или не один.

  • sergis пишет:

    или надо было просто переименовать English в конфигурации default а остальные убрать?

    • niro пишет:

      Так тоже можно.

      Для понимания: название представления магазина не обязательно должно быть связано с языком. То, что его так использует большинство – ничего не означает. В официальном User Manual там есть пара примеров с другой структурой. Вы можете назвать его как хотите, например, “Супер секретный магазин” или “Магазин электроники”. А вот какой язык использовать для него указываете уже в настройках.

  • sergis пишет:

    спасибо, так и сделал. все ок

  • Anton пишет:

    возможно ли установить перевод через System – Translations ? у меня magento GO

    • niro пишет:

      Для Magento GO скорее всего не подходит. Мы не работали с Go и не знаем, как там происходит установка расширений и можно ли скопировать туда файлы перевода.
      Предполагаем, что если и можно, то будут переведены не все фразы.

  • Sergey пишет:

    Здравствуйте! Скажите, пожалуйста, как правильно создать представления магазина на разных языках. Руссифицировать получается заменой папок, а вот не знаю как создать как у вас идёт столбик Английский, Французский, Русский. У меня только “Default Store View” в Current Configuration Scope.

    • niro пишет:

      Судя по всему у вас не созданы представления магазинов.
      Они создаются в System -> Manage Stores.

      • Sergey пишет:

        Прошу прощения, можете подсказать, не могу понять. Когда нажимаю “создать новое представление” Требуется заполнить поля с “кодом”. Не понимаю какой код нужно поставить. И тут нужно добавлять два представление русский и английский, или только русский, а уже имеющиеся взять как английское?

        • Sergey пишет:

          Спасибо! Разобрался, с трудом нашёл литературу на английском и там этот шаг прописан.

  • Sergey пишет:

    Здравствуйте! Скажите, пожалуйста, возможно ли как-то убрать часть url, что добавляется при смене языка на сайте. ?___store=en&___from_store=ru

    • niro пишет:

      Никогда не задавался этим вопрсом. Не уверен, что удаление этого кода не скажется на каких-то функциях сайта.
      Но если очень надо, смотрел бы функцию Mage_Core_Model_Store::getCurrentUrl

      Большая просьба, не задавать вопросы, не связанные с темой статьи.