advertisement

Доклад Юрия Насретдинова на РИТ++ 2013. "Система перевода в Badoo".

64 %
36 %
advertisement
Information about Доклад Юрия Насретдинова на РИТ++ 2013. "Система перевода в Badoo".
Technology

Published on April 24, 2013

Author: BadooDev

Source: slideshare.net

Description

1. Общее устройство системы перевода в Badoo
2. Лексемы, интеграция с таск-трекером
3. Иерархия языков, интерфейс перевода
4. Выделение лексем из текста: парсер, знающий HTML
5. Интеграция с git: многоверсионная система хранения лексем
advertisement

Система переводав BadooBadoo, Юрий Насретдиновy.nasretdinov@corp.badoo.com

• 177+ млн пользователей• PHP-FPM: 30+ тыс запросов в сек• 140 тыс регистраций в день• 3 млн фото / видео в день• 50 языков интерфейсаО компании

Система переводаHello

Система переводаПривет  ‫שלום‬Bonjour

Blitz-шаблоны<h1>Results</h1><!-- BEGIN NOTHING -->No results found<!-- END NOTHING --><!-- BEGIN RESULT --><div>Name {{name}}, {{score}}</div><!-- END RESULT -->

Linc-файлы (тексты)

Blitz-шаблоны• Шаблоны обрабатываются спомощью движка Blitz• С помощью умного алгоритма™выделяются куски текста:лексемы

Blitz-шаблоны<h1>Results</h1><!-- BEGIN NOTHING -->No results found<!-- END NOTHING --><!-- BEGIN RESULT --><div>Name {{name}}, {{score}}</div><!-- END RESULT -->root_0: #1NOTHING:NOTHING_0: #2RESULT:RESULT_0: #3#3

Генерация файлов<h1>Results</h1><!-- BEGIN NOTHING -->No results found<!-- END NOTHING --><!-- BEGIN RESULT --><div>Name {{name}},{{score}}</div><!-- END RESULT --><h1>Результаты</h1><!-- BEGIN NOTHING -->Результатов не найдено<!-- END NOTHING --><!-- BEGIN RESULT --><div>Имя {{name}},{{score}}</div><!-- END RESULT -->

Генерация файлов• Нет специальных маркеровлексем• Пре-генерируются шаблоны,переведенные на все языки• + 100 000 файлов при деплое

Лексемы• Каждая лексема получает свойидентификатор (Lexem_id)• Даже лексемы с тем же текстомкаждый раз* получают новый id• Переводчики могут независимопоменять любой текст на сайте* В новом контексте

Типичный workflowZAPILIT-1Задача:Ветка:ZAPILIT-1_done_job(7bf41e1cae80ec6)+ file1.tpl- file2.phpM file3.tpl

Типичный workflowЛексемы:ZAPILIT-1:3 новых5 измененоДеплой: git merge ZAPILIT-1

Типичный workflowЛексемы:ZAPILIT-1:3 новых5 измененоДеплой: git merge ZAPILIT-1

Mini-staging: «шоты»• Staging из текущей ветки• Быстрое создание• Лексемы попадают на перевод вовремя тестирования задачи• Позволяют сократить времяожидания переводчиков

Иерархия языковMasterDevelEnglish (UK) Portuguese (Brazil)Portuguese (Portugal)

Иерархия языков• Отдельный язык — Devel• Сначала переводится на Master• Перевод наследуется от родителя

Проблемы с git?

Интеграция с git

Проблемы с git• Один файл могут редактировать вразных ветках одновременно• Ветки могут мержить друг в друга• Нужно сохранять id лексем послемержа двух версий файла

Хранение данных• Полная структурафайла хранится вбазе данных• Каждой лексеме вфайле выдаетсяуникальный idroot_0: #1NOTHING:NOTHING_0: #2RESULT:RESULT_0: #3

Что делать?• «Контекст» лексемы #3:«RESULT / RESULT_0»• Уровень вложенностиблоков имеет значение• Лексемы с тем жесодержимым имеюттакое же названиелексемы (RESULT_0)root_0: #1NOTHING:NOTHING_0: #2RESULT:RESULT_0: #3

Интеграция с git• Хранятся мастер-версии и диффык мастеру• Между собой диффы немержатся• Лексемы в том же контекстеполучают тот же id

Сохранение id лексемroot_0: #1NOTHING:NOTHING_0: #2root_0: #1RESULT:RESULT_0: #3+Задача1 Задача2

Сохранение id лексемroot_0: #1NOTHING:NOTHING_0: #2RESULT:RESULT_0: #3Задача1Задача2

Summary• Лексемы выделяются автоматическииз HTML-кода и linc-файлов• Полная прегенерация шаблонов• Интеграция с git и таск-трекером• Задачи попадают на перевод в моментначала тестирования задачи

Вопросы

Спасибо завнимание!Badoo, Юрий Насретдиновy.nasretdinov@corp.badoo.comtwitter.com/YNasretdinov

Интерфейс

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Badoo - Education - documents.tips

Доклад на highload++ в 2014 ... Доклад Юрия Насретдинова на РИТ++ 2013. "Система перевода в Badoo ...
Read more

Badoo - Documents

Доклад на highload++ в 2014 ... Доклад Юрия Насретдинова на РИТ++ 2013. "Система перевода в Badoo ...
Read more

Юрий Насретдинов на РИТ++ 2013 - YouTube

Юрий Насретдинов на РИТ++ 2013 ... Доклад Юрия ... Доклад Юрия Насретдинова на ...
Read more

Vimeo / ADD - 4

... 13 декабря 2013. ... Доклад Юрия Бондаренко на ... Доклад Юрия Насретдинова на ...
Read more

"Облако в Badoo год спустя - работа над ошибками". Доклад ...

Доклад Юрия Насретдинова ... на его использование в Badoo через год. Доклад ...
Read more

Badoo Development - HubSlide

Доклад Андрея Саса на конференции РИТ++ 2014. ... Доклад с РИТ 2015. 3 months ago. Technology.
Read more

HighLoad++ 2015 : Пять самых интересных заявок июня!

"Наконец-то серьёзный доклад!" ... Обработка gps-треков на go в докладе Андрея ...
Read more

HighLoad++ 2016 : Пять самых интересных заявок июня!

Сразу после анонсирования приёма докладов на ... Забронировать билет Подать доклад ...
Read more