[Порка] Служба для организации переводов программ силами пользователей
От: Freeze  
Дата: 20.02.17 13:01
Оценка:
Изначально мы переводили свои программы сами: только на английский и русский. Пользователи часто присылали переводы на другие языки или спрашивали, как их можно сделать. Поначалу мы не принимали подобные переводы, т.к. нужно было каждый раз обновлять дистрибутив программы, а при выходе новой версии оповещать переводчика, просить обновить перевод для новой версии. Общение с переводчиками, ведение их списка, оповещение… Хотелось автоматизировать эту работу. В итоге сделали простенький сайт, на который отправляли переводчиков, а с сайта уже подгружали переводы в свои программы. Так мы начали принимать все поступающие переводы.

Результаты понравились, программу перевели на ~20 языков. Переводчики теперь взаимодействуют с сайтом, пользователи голосуют за качество переводов, приложения автоматически подгружают новые локализации. При этом сайт автоматически оповещает переводчиков в случае появления новой версии.

Подумалось: почему бы не сделать это доступным для других разработчиков? Чуть-чуть допилили и получилась вот что: http://static.langshelper.com.

Принцип работы: вы создаете учетную запись на этом сайте и добавляете туда свои программы с информацией для переводчиков. Получаете страницу вида http://langshelper.com/DemoAccount. Ее можно полностью кастомизировать, задавая header и footer в виде html. На эту страницу отправляете потенциальных переводчиков ваших программ из числа пользователей или со стороны.
Интегрируете в программы dll. Поддерживаются C++ (проверено на VS 2008 и выше, MinGW, Clang, C++ Builder) и Delphi (начиная с 7). Наш код не контролирует то, как именно вы переводите программу: это могут быть plain text-файлы, какие-нибудь bin, sib, что душе угодно. Главное, чтобы переводы можно было разместить во внешних файлах. Что будет после интеграции:

  • Когда переводчик загрузит новый перевод, dll его скачает и оповестит программу. Это очень удобно, потому что можно сначала выпустить программу, а когда переводчики ее переведут, переводы автоматом скачаются у пользователей соответствующих языков. Т.е. если на сайте появился перевод на тот язык, который является у пользователя системным, в dll есть готовый сценарий с запросом «хотите загрузить перевод на язык nnn?» и его загрузкой и включением. Таким образом, как только переводчики добавили перевод на новый язык, он сразу начнет раздаваться всем пользователям ваших программ, кому он подходит.

  • Если переводчик обновит перевод, он обновится у всех пользователей, у которых была старая версия перевода.

  • На сайте у переводчиков есть роли: если вы сделаете переводчика «доверенным», то описанное выше обновление произойдет полностью в фоне: никакого общения переводчика с разработчиками.

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

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

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

    Внутри архива (http://static.langshelper.com/files/langshelper.zip) есть демка.

    Пока хочется узнать, интересно ли такое кому-нибудь.

    Модель распространения планируется такая: если страница для переводчиков создается у нас на сайте, бесплатно. А если разработчик хочет развернуть у себя или на произвольном ASP.NET-хостинге (подойдет простейший за $10/мес) – то серверную часть за денежку.
  •  
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.