LINUX.ORG.RU

Аналог notabenoid.com

 


0

4

Хочу запилить open source аналог сервиса коллективного перевода notabenoid.com - в первую очередь для перевода текстов, фильмы и локализации если и будут, то в достаточно отдалённой перспективе.

В качестве backend планируется использовать MongoDB, middleware писать на Go (Revel), веб-интерфейс - AngularJS+jQuery. Внешний вид буду бесжалостно передирать у notabenoid.

Какие подводные камни? Может быть, вы можете предложить другую связку (и обосновать своё предложение)?


В качестве базы данных — git и plain text, чтобы сходу заиметь версионирование, diff и прочие git'овые нищяки для работы с текстом. Кешировать redis'ом все что можно, чтобы нивелировать недостатки git(вроде малого количества коммитов в секунду).

Бизнес-логика — ruby, потому что github stuff активно пилит rugged, например. А еще можно быстро стартануть angular'ный проект вот отсюда.

Веб-интерфейс — умоляю, только не умирающий JS; возьми livescript, clojurescript или хотя бы coffeescript. Кроме того, jquery обычно не нужен, когда используешь angular.

Какой бы технологический стек ты не выбрал, когда что-нибудь будет готово, дай ссылку на репозиторий, пожалуйста. Интересно взглянуть(а если понравится — то и поучаствовать).

Anatolik ★★ ()
Ответ на: комментарий от Anatolik

В качестве базы данных — git и plain text, чтобы сходу заиметь версионирование, diff и прочие git'овые нищяки для работы с текстом.

Версионирование очень хочу, но стандартные vcs - line-oriented. Текст же разбивается и переводится по абзацам, то есть по одной строке. diff двух строк особо не поможет и место не сэкономит.

Кроме того, база git нуждается в периодическом обслуживании в виде git gc.

когда что-нибудь будет готово, дай ссылку на репозиторий, пожалуйста.

Пренепременно. За ссылки спасибо, ознакомлюсь.

nota2 ()

Только сделай сайт удобным для людей которые не понимают русский. Сайт переводов должен привлекать людей со всех стран.

Jaberwock ★★★ ()
Ответ на: комментарий от Jaberwock

В основном да. Но есть и другие. С испанского сейчас 37 переводов, с немецкого 45.

nota2 ()

MongoDB, middleware писать на Go (Revel)

Писал на этой связке прототип своего проектика: система публичных обсуждений и голосований, bosh client (для XMPP prebind'инга), Persona аутентификация. Клепается нужный функционал очень быстро, стоит только разобраться с фреймворком и языком. Вначале были сложности с подключением revmgo: вместо ошибок с сообщениями получал какой-то мутный backtrace. Потом вник в суть и процесс пошёл. По поводу:

Development is closing in on the «final» 1.0 design, but the rate of change is still high. Expect to get your hands dirty.

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

По поводу архитектуры. С одной стороны многое у них мне показалось офигеть каким разумным. А вот их i18n - сплошное разочарование и его походу никто ещё не использовал в проектах.

Sense ()
Ответ на: комментарий от Anatolik

Ну ты монстр сходу столько сомнительных советов давать. :)

Версионирование очень просто делается на любой базе данных, умеющей что-то вроде SELECT WHERE post_id = XX AND id >= YY AND id <= ZZ. Прогоняем текст через любую diff-либу для PHP, благо их навалом.

Ruby жруч до памяти, как минимум сервису потребуется довольно производительный сервер. PHP намного меньше потребует. Ну и выбирать язык для всего проекта только потому что под него есть некая библиотека - неверно.

Веб-интерфейс — умоляю, только не умирающий JS

Всё что ты дальше перечислил - работает на этом твоём «умирающем JS». JS, в принципе, терпим, если юзать фреймворки. Далеко не идеален, но тем не менее, терпим. А синтаксический сахар - это баловство.

Что-то конкретное советовать не буду, но скажу мнение по выбранным технологиям. Как я понимаю, проект планируется just for fun, поэтому прежде всего отталкивайся от того, с чем тебе интересно было бы самому поработать. MongoDB в качестве базы данных - хорошее решение в данном случае. Будет быстро работать, структура таблиц не сложная. Go - ну тут хз, если интересно с ним поработать, то ок, но я бы выбрал PHP как хорошее соотношение производительности/распространённости.

anonymous ()
Ответ на: комментарий от anonymous

но я бы выбрал PHP как хорошее соотношение производительности/распространённости.

С PHP никакого фана не будет. Если не вставит Go, есть вариант попробовать node.js. Может, оно даже лучше - гомогенная среда, типа.

Всем спасибо за ответы, буду потихоньку пилить.

nota2 ()

Самый большой подводный камень — это ориентация на нотабеноид. Переводы с нотабеноида ВСЕГДА ОЧЕНЬ ПЛОХИ. Я не видел ни одного исключения. Говорю как человек, сделавший переводы субтитров примерно к полутора сотням часов видео.

Miguel ★★★★★ ()
Ответ на: комментарий от Jaberwock

Чем лучше?
Какие основные преимущества?

Основное преимущество, что это язык программирования, а не запихнутый на server-side лагуче-падучий явоскрипт.

tazhate ★★★★★ ()
Ответ на: комментарий от Miguel

Это человеческий фактор. Нотабеноид тут ни при чём. Никто, однако, не мешает закрыть перевод от всех и переводить в одиночку до достижения чувства глубокого морального удовлетворения.

anonymous ()
Ответ на: комментарий от anonymous

Нотабеноид тут ни при чём.

Сомнительно. Не может быть, чтобы комьюнити было завалено шлаком на 146%, и при этом никак этот шлак не поощряло.

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

Ну, тогда вообще никакая коллаборация не нужна.

Miguel ★★★★★ ()
Ответ на: комментарий от Miguel

Возможно, проблема в преждевременных эяквыкладывателях недовылизанных переводов. Если почитать ихние форумы, переводчики очень ругаются, что их переводы оказываются на том же рутрекере сразу после того, как градусник покажет 100%.

// Мои переводы не шлак. Но я перевожу хоть и на нотабеноиде, но в одиночку.

anonymous ()

SITREP: Базовая функциональность запилена, ещё немного допилить, снабдить комментариями - и можно выкладывать на гитхаб.

nota2 ()
Ответ на: комментарий от anonymous

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

opennota ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.