ПредишенСледващото

Днешният случай за това как да направите вашия сайт локализация разработен в различна езикова версия на автоматизация на превод езикови фрази, които използват Yandeks.Perevod услуга. В случай, се считат за две ключови механизми: Работа CSV файл с езикови фрази и автоматичен превод на руски фрази в украински език.

Днешният случай за това как да направите вашия сайт локализация разработен в различна езикова версия на автоматизация на превод езикови фрази, които използват Yandeks.Perevod услуга. В случай, се считат за две ключови механизми: Работа CSV файл с езикови фрази и автоматичен превод на руски фрази в украински език.

Така че тук и да отидем. Сега, когато се занимава с прехвърлянето на (тежка промяна) на достатъчно голям за Bitrix Site. Процесът е много интересна и ще се опита в близко бъдеще да се направи по-подробен пост с разкриването на ключови точки. И сега, за локализиране.

За се даде начало на работата на Руската версия на сайта (основен клиент е избрал този вариант). Absollyutno всички надписи на кирилица е задължително всички компоненти са направени в езикови фрази. Много не rekomeuyu да се остави в детайла на език по подразбиране фрази (в стила на "внезапно дойде по-удобно") - не дойде по-удобно! (И ако искат - да се създаде нов по-добре, но на работа изрязани при проверка на верността на превода). Аз също препоръчвам на всички общи фрази, които се използват в голям брой компоненти шаблони, за да направи езиковия файл в заглавната част (но за страници, без щепсел заглавни фрази все още трябва да се дублира или принудени да се свърже език хедър файл).

Като цяло, връзката на езикови фрази изглежда приблизително така:

Начинаещите предприемачи 1C-Битрикс (макар че мнозина имат достатъчно опитни програмисти, твърде) всички тръгват на кирилица директно в шаблона, като се има предвид, че след това, по-късно се отложи. И така, това е цялата тази бъркотия в продължение на години в шаблона. Е, ако сайтът е в една езикова версия на костюма и неговите гостите в продължение на години, за да направи своята локализация не е необходимо, но ако няма Che, казва Саймън Slepakov? Затова привикнат себе си винаги носи на кирилица езикови фрази. Не ви ли някой друг да бъдете сигурни, да ви изкажа своята благодарност за това.

Сега ние считаме, че цялото се съхранява в езикови фрази кирилицата и преводи няма да са толкова много трудни. За да се извлече всички езикови фрази и да се възползват от превод модул "Превод" 1C-Битрикс система (носителите издания без този модул ще трябва да напиша сценарий, който ще извлече всичките си езикови файлове и генериране на CSV файл).

Ако имате различен набор от езикови файлове, инсталирани в системата - последните 3 колони ще са различни, но считам, че опцията, когато системата е руски, украински и английски език.

Поставете файла някъде в системата (обикновено слагам в качването), и по нашия скрипт манипулатор веднага добави първото изречение с насита absollyutnogo път към файла:

И аз открих, в който пишем резултата:

След това свържете bitriksovy клас за работа с CSV:

Bitriksovuyu библиотека използвам само за писане на CSV файлове. За да прочетете за дълго време (с помощта на bitriksovogo клас преди около година открих проблема за комплексно файл, който разделител също присъства в настройката) Използвайте тази функция:

GetTranslitCode - обвивка около нормалната функция bitriksovoy транслитерация:

Прогонва нашата обработка на CSV файл чрез CSV файл и да получите асоциативен масив от низове файл с заглавията във формата на бутоните:

Създаване на презаписване на изходния файл:

Напиши директно към заглавията на изходния файл:

След това се пристъпва към превода. Работех Yandex_Translate клас. което е леко коригиран. защото описано в habrostate метод dostatno вече от дълго време не работи. В клас, аз коригира адреса, към който е изпратил искането, и конфигуриран да изпраща частен ключ, който се предава при дефиницията на клас

Ние създаваме инстанция на интерпретатора на класа и задвижва целия спектър от езикови фрази чрез функцията за превод. Всеки ред веднага запазена във файла:

Всичко! Сега езикови фрази създадени и можете спокойно да се ангажират с изпълнението на втората локализацията сайт.

Продължавайки темата: За онлайн магазин е един много важен момент - картографирането на стойността на недвижимите имоти, както и многоезичен е един от най-трудните моменти. Имотите са показани в интелигентен филтър в списъка на стоки на картата точка, но Битрикс няма възможност за същия имот определя промяната в различните езикови версии.

За стойности на имоти, този недостатък може да се заобиколи чрез използване на имуществото на "Регистър" попълване UF_NAME основния език, както и на друго поле (например, UF_DESCRIPTION) - бране на втори език. Но това не може да се направи за имената на свойствата - няма област, в която да я съхранява.

От всичко това решение на проблема е роден: за създаване на отделен език файл props.php, който е свързан до заглавието езиков файл:

Това е най-прост начин за качване на индивидуалните им стойности за украински език

След това, ние завърши стойностите на функцията връщане от директория:

Функцията приема като входни параметри, за да изберете кои стоките да се вземат, и параметрите за филтриране - това, което са необходими ценности. На изхода за украинския език украински език ще има стойност (ако не е попълнено - настроен Yandex.Translate превод).

След това - заеми имена собственост. Ето един пример за обработка на интелигентен филтър:

Първо прогонва ценности води през функциите, описани по-горе, и след това - ангажирани в обработката на свойствата на имена.

Въз основа на характера код свойства проверите наличието на езикови фрази - фрази, ако не, тогава превеждани автоматично от Yandex.Translate и записва резултата в празно за писане на език файл. Освен това, когато всички свойства, изброени в регистъра на езиков файл получили присъди от език: четене, нашият обичай език на файлове и добавя нови фрази в нея.

Тук е най-доброто решение е роден. Честно казано, за дълго време не можах да разбера как да се заобиколят възможност за работа с имоти.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!