Сьогодні ми розглянемо таке складне питання, як локалізація Magento, тобто переклад системи на потрібну нам мову. Тема серйозна, тому я постараюся якомога детальніше її висвітлити.
Спочатку трохи теорії:
Тепер перейдемо від теорії до практики.
Щоб перекласти статичний вміст встановимо готовий український переклад через Мадженто Коннект. (тут більш детально описано, як це зробити на прикладі встановлення нової теми).
Все встановлення зводиться до того, що ми додаємо в систему нову папку з файлами перекладів. Коли ви зайдете по FTP на свій хостинг за адресою [magento_root]/app/locale/, то ви побачите там нову папку uk_UA з купою файлів у форматі .csv – ці файли і відповідають за переклад системних файлів PHP.
Як це працює?
Якщо ви відкрийте будь-який файл .csv в папці uk_UA через Notepad++ (найкраще), то ви побачите попарні значення в рядку, в лапках і розділені комами, наприклад, “24 Hours”,”24 години”.
Так і працює переклад в Magento: у першій парі лапок міститься системне значення (“24 Hours“), а у другій парі (“24 години“) – його переклад. Ці пари значень розділяються комою без пробілів, і кожна пара з нового рядка.
Системне значення береться з PHP-коду виду <?php echo $this__(‘Word’); ?>, де ‘Word’ – значення для перекладу. Тепер, якщо ми запишемо у відповідному файлі .csv строку “Word”,”Слово” – то цим ми скажемо CMS Мадженто, щоб він знайдені значення ‘Word’ виводив на екран як ‘Слово‘.
Ще не заплуталися? Сподіваюся, що ні!
Йдемо далі і ще трохи теорії:
Спробуйте змінювати значення у файлах перекладів і побачите, як це працює на практиці.
Щоб задіяти файли локалізації перейдіть в адмінпанелі System > Configuration, потім в лівому блоці меню General виберіть вкладку Countries Options. У випадаючому списку Default Country виберіть «Ukraine», а у вкладці Locale Options – Locale виберіть Ukrainian (Ukraine). Збережіть конфігурацію, натиснувши Save Config. Оновіть кеш (в System > Cache Management). Тепер, якщо ви оновите головну сторінку сайту, то побачите, що стали з’являтися українські слова та літери. Але частина контенту залишиться не перекладеною, оскільки є динамічним вмістом (згаданим вище).
Є ще й третій спосіб – переклад через фронт-енд (за допомогою інструменту «Translate Inline»).
Translate Inline, іншими словами «построковий переклад», дозволяє здійснювати переклад прямо в браузері. Коли ви включите інструмент Translate Inline, на сторінці сайту будуть з’являтися іконки книжечок біля слів, які доступні для перекладу. Щоб перевести потрібне слово, натисніть на іконку книжечки і у спливаючому вікні введіть свій варіант перекладу. Оновіть сторінку, щоб побачити новий переклад в дії.
Щоб включити цей інструмент, перейдіть System > Configuration і в самому низу лівого меню виберіть Developer (Засоби розробника). Опція включається в секції Translate Inline (Enabled for Frontend – Yes, Enabled for Admin – Yes).
Особливості такого перекладу:
Ось ми і розібрали складну тему по локалізації Magento на українську мову. Сподіваюся, що вам даний матеріал стане в нагоді.
P.S. Практика показує, що при роботі з Мадженто доводиться використовувати всі 3 розглянуті способи:(
Якщо у вас є питання або зауваження – буду радий відповісти на них у коментарях до даної теми!
Якщо хочеш пізнати людину, не слухай, що про неї говорять інші, послухай, що вона говорить…
Вибачення — не означає, що ти не правий, а інша людина має рацію. Це всього…
Атмосферу паперової книги, запах свіжого чорнила і паперу, що трохи залежався, складно замінити гаджетами. Але…
View Comments
Гарна стаття, дякую! :)
я так і не зрозумів де скачати папку uk_UA :(
Коли ви встановите модуль перекладу на українську мову (скачаєте по лінку, що веде на Мадженто Коннект), тоді у вас з'явиться ця папка за адресою: [папка встановлення Мадженто]app/locale/uk_UA/.
Якщо ж у вас вже встановлена українська локалізація, тоді можете не встановлювати модуль, адже він перепише наявні файли в цій папці.