Страницы новостей: 1 2 3 4 вперед »
11.03.2016

Разработали средство для перевода проектов

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

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

  • Возможность перевода продукта, который изначально не был предназначен для интернационального использования. Многие существующие технологии перевода программных продуктов рассчитаны на то, что в исходные тексты заранее должны внедряться соответствующие конструкции, обрабатываемые системой перевода при формировании языковой версии продукта. Например, так устроен gettext. Наши продукты изначально не ориентировались на использование такого рода технологий. Кроме того, мы посчитали, что внедрение такой технологии в наши существующие продукты приведет к необоснованному засорению программного кода. Также принцип, реализуемый в gettext, не позволяет выполнять перевод нетекстовых файлов. Поэтому использование данных i18n решений мы посчитали нецелесообразным.
  • Отсутствие привязки к конкретному языку программирования, на котором написаны исходные тексты. В наших продуктах исходные тексты представлены на C++, Perl, JavaScript, CSS а также на языках разметки HTML и XML. Поэтому нам нужны были инструментальные средства, позволяющие охватить весь этот спектр без излишней подготовки и преобразования исходников.
  • Автоматическое обнаружение в исходных текстах фрагментов, которые требуется перевести. Большинство исходных текстов, в том числе документация на HTML, содержат синтаксические конструкции, тэги и разметку, которые не должны переводиться, вместе с тем они не должны отвлекать переводчика и отнимать у него время на поиск целевых фрагментов, которые, в отличие от разметки, перевести требуется.
  • Возможность перевода нетекстовых файлов, например файлов с изображениями. Зачастую картинки содержат текстовые надписи, которые также требуется перевести. В продукте ahunterES используется около сотни изображений, каждый из которых требовалось просмотреть и при необходимости подготовить соответствующий перевод. Поэтому технология перевода проекта должна была обеспечивать удобные средства для контроля переводов изображений.
  • Эргономика и свой словарь терминов. Наши продукты содержат довольно много специфической терминологии, поэтому нам требовалось ведение собственного словаря терминов и их переводов на другой язык. Также требовался автоматический поиск терминов в переводимых текстах и их замена на соответствующие переводы. Кроме того, общим требованием к инструментальным средствам перевода была минимизация числа действий, которые требуется предпринять пользователю, чтобы выполнять перевод, а также защита уже подготовленного перевода от случайной порчи или изменений.
  • Поиск переводов и интеграция с онлайн переводчиками. В общей сложности в рамках ahunterES требовалось перевести тексты, суммарно содержащие полмиллиона символов. При этом многие фразы и термины в разных текстах нашего продукта повторяются довольно часто. Поэтому необходимые нам средства перевода должны были позволять оперативно отыскивать уже переведенные фразы и их переводы по ключевым словам. Нам нужно было выполнять поиск фрагментов как на языке оригинала, так и на языке переводов. Кроме поиска нам хотелось, чтобы инструментальные средства умели работать с онлайн переводчиками посредством API, чтобы пользователь, не покидая своей рабочей среды, мог задействовать онлайн-средства автоматического перевода.
  • Пожалуй, самым важным нашим требованием к технологии перевода была поддержка жизненного цикла продукта. Нам нужно было не просто перевести все имеющиеся у нас тексты, но и обеспечить поддержку их жизненного цикла. Дело в том, что наши продукты постоянно изменяются, в них появляются новые возможности, а также исправляются ошибки и недочеты. На жизненном пути продукта неизбежно происходят изменения в текстах, требующих перевода. В особенности это касается документации к ahunter.ru, которая со временем пополняется и уточняется. Нам было важно, чтобы переведенная версия нашего продукта всегда находилась в актуальном состоянии и соответствовала текущей версии языка-оригинала. А для этого средства перевода должны отслеживать изменения в оригиналах и оповещать переводчика о текстовых фрагментах, которые требуется актуализировать.

Поскольку наша компания имеет большой задел и опыт в области обработки текстов, мы решили самостоятельно разработать соответствующее решение для перевода наших продуктов на другие языки и удовлетворяющее всем нашим требованиям. Такое решение было нами разработано и апробировано на продуктах ahunter.ru и ahunterES.

В ходе подготовки англоязычной версии этих продуктов мы накопили дополнительный опыт, а в ходе консультации с переводчиками у нас появились новые требования и пожелания к инструментальным средствам перевода. В настоящий момент данная технология внедрена в нашей компании для поддержки жизненного цикла англоязычной версии ahunter.ru и ahunterES. После того как мы накопим достаточно опыта в использовании данного решения, мы планируем выпустить на его основе отдельный продукт, доступный для всех желающих.

20.01.2016

Добавили транслитерацию и перевод адресов в ahunter.ru

Мы продолжаем расширять функциональность сервиса ahunter.ru. Для использования сервиса за пределами России мы добавили возможности по прямой и обратной транслитерации обрабатываемых сервисом почтовых адресов.

Прямая транслитерация заключается в преобразовании символов, составляющих ответы сервиса, в символы латиницы. Для прямой транслитерации мы реализовали ГОСТ 7.79-2000. Прямая транслитерация является достаточно очевидной процедурой, поскольку подразумевает прямую замену каждой буквы русского алфавита на соответствующий символ или последовательность символов латиницы. Возможности прямой транслитерации включаются автоматически при работе с англоязычной версией сервиса.

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

Дополнительную специфику в проблему обратной транслитерации добавляет работа с почтовыми адресами. Мы проанализировали выборку почтовых адресов наших зарубежных партнеров и обнаружили, что при попытке ввода почтовых адресов латиницей пользователи часто пытаются выполнить не транслитерацию, а перевод на английский язык. Например, адрес, «город Москва, улица Тверская, д.1, 5» может быть записана как «city of Moscow, Tverskaja street, house 1, room 5». Для выполнения стандартизации таких почтовых адресов обычных правил транслитерации уже не достаточно и необходимо использовать методы перевода почтовых адресов с английского языка на русский.

Мы реализовали данный функционал и успешно внедрили его на ahunter.ru. В настоящий момент транслитерация с элементами перевода доступна при стандартизации почтовых адресов, а также в функциях сервиса, отвечающих за формирование подсказок почтовых адресов в процессе их ввода пользователями. Новые возможности доступны и для пользователей нашего продукта ahunterES.

30.10.2015

Запустили ahunter 2.0

Мы закончили разработку ahunter 2.0 – это новое ядро для наших продуктов ahunter.ru и ahunterES, а также для наших специализированных решений по очистке контактных данных. Мы выпустили не просто новую версию сервиса, это действительно ядро, разработанное полностью с нуля, на основе которого мы уже создаем новые специализированные решения, а также расширяем функционал существующих продуктов.

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

  • Поменялась архитектура сервисов ahunter.ru и ahunterES. В предыдущих версиях этих продуктов архитектура подразумевала наличие трех серверных компонентов – веб-сервера, back-end сервера и сервера распознавания. Это являлось узким местом для реализации многопоточной обработки запросов в режиме реального времени. В первую очередь это снижало производительность работы функций API, поскольку запросы пользователей передавались между этими тремя серверами. В новой платформе мы убрали из архитектуры back-end сервер. Весь функционал сейчас сосредоточен в рамках единого сервера, который полностью реализован на C++. При обработке одиночных API запросов это позволило поднять производительность на 30-40%.
  • Реализовали новый REST API. Новая реализация API позволяет возвращать ответы сервиса как в формате JSON, так и в формате XML. Каждый пользователь выбирает формат по своему вкусу. Кроме обработки одиночных запросов на очистку адреса или телефона в API предусмотрены продвинутые функции по совместной обработке контактных данных разного типа. Например, можно совместно обработать почтовый адрес и несколько телефонных номеров. Описание всех возможностей API доступно по следующей ссылке: http://ahunter.ru/site/apidoc.
  • Разработали новый удобный личный кабинет для обработки реестров с почтовыми адресами и другими контактными данными. В рамках нового кабинета можно выполнять обработку табличных файлов любого формата. Реестр с контактными данными может содержать в каждой строке несколько почтовых адресов, телефонов и ФИО. Личный кабинет позволяет настроить совместную обработку всех этих данных и скомпоновать итоговый результат в виде табличного отчета. Отчеты можно настраивать по своему вкусу, включая в них любую информацию о результате обработки почтовых адресов, телефонов и ФИО. Работа в новом личном кабинете подробно описана по следующей ссылке: http://ahunter.ru/site/about/manual.
  • Добавили для пользователей возможность настраивать собственные фильтры почтовых адресов и использовать их как при обработке реестров, таки при обработке адресных данных посредством API.
  • Добавили функцию по стандартизации фамилии, имени и отчества. Данная функция позволяет распознавать в сплошной строке отдельные компоненты ФИО, в результате чего фамилия, имя и отчество раскладываются по отдельным полям в структурированном виде. При обработке ФИО сервис автоматически определяет пол персоны, а также ее национальность.
  • Внедрили в новое ядро функции генерации подсказок при вводе фамилий, имен и отчеств. Данная функция позволяет подсказывать пользователю, вводящему ФИО, различные варианты заполнения этих компонентов. Это может быть полезно, если в вашем приложении или веб-сайте есть форма, при заполнении которой кроме почтового адреса пользователь должен ввести свое ФИО. Наш сервис формирует подсказки на лету, начиная с ввода первой буквы фамилии, имени или отчества. При этом подсказки формируются с учетом пола и национальности персоны, которой принадлежит вводимое ФИО. Например, при вводе имени Михаэль сервис будет предлагать подсказки с немецкими мужскими фамилиями.
  • По-новому реализовали учет статистики. Теперь можно точно посмотреть какие именно API-запросы и с каких IP-адресов были обработаны от имени пользовательского аккаунта. Новая статистика также позволяет точно отслеживать, сколько денег было списано за обработку каждого запроса.

Страницы новостей: 1 2 3 4 вперед »

Последние события

11.03.2016 Закончили разрабатывать Lingalign - инструмент для перевода и интернационализации проектов и веб-сайтов.

10.02.2016 Открыли регистрацию пользователей на сервисе ahunter.ru.

20.01.2016 Добавили возможности транслитерации и перевода адресов в ahunter.ru.

Архив событий

30.10.2015 Запустили сервис ahunter.ru на новейшем ядре ahunter 2.0.

01.07.2015 Запустили сервис подсказок для ввода адресов в режиме реального времени.

08.06.2015 Завершили большой проект по стандартизации данных контрагентов для компании "ПепсиКо".

03.04.2015 Интегрировали сервер ahunterES в продукты и сервисы компании БФТ.

02.03.2015 Внедрили сервер ahunterES в систему СПАРК.

Страницы: 1 2 3 вперед »