Коллективный перевод - это не наш метод.Это может служить просто неким инструментом для баг-репортов :)
Переводить может и один человек, но проверять и исправлять другим в такой системе удобно.Боюсь, эти другие такого наисправляют...
Но что-то вроде камментов и пометок вполне можно было бы сделать.Лучше и комменты и варианты перевода.
С этой точки зрения утверждать "лучшим" наверное нужно разрешать создателю проекта (главный переводчик?)Смысл тогда? ИМХО, определённый узкий круг лиц, хорошо знающих язык, должен выбирать (Джинни и TrickZter, например), а уж релизёр пусть думает, включать ему этот "лучший" вариант или нет.
Ну, есть же спорные моменты, когда и фантазия тоже нужна - в соседней теме, перевод Зельды с "дальнедальем". А фантазией вроде все богаты. Или я не прав? :)С этой точки зрения утверждать "лучшим" наверное нужно разрешать создателю проекта (главный переводчик?)Смысл тогда? ИМХО, определённый узкий круг лиц, хорошо знающих язык, должен выбирать (Джинни и TrickZter, например), а уж релизёр пусть думает, включать ему этот "лучший" вариант или нет.
В интернете готовых решений не нашёл.http://notabenoid.com/book/21389/71121/ (http://notabenoid.com/book/21389/71121/)
Угу, вчера тоже нашёл этот сайт. Почти на 100% то что хотел по интерфейсу и фичам. Одна беда, сорцов-то они нам не дадут :)Цитировать (выделенное)В интернете готовых решений не нашёл.http://notabenoid.com/book/21389/71121/ (http://notabenoid.com/book/21389/71121/)
Разве не похоже?
Я вроде написал, что конечный вариант должен выбирать релизёр, который занимается конкретным переводом, но "лучший" вариант должен утверждать тот, кто лучше знает языки и приёмы переводаЛучший перевод можно определять по количеству голосов, при этом вес голоса экспертов выше чем у рядовых пользователей. А вот насчёт конечного варианта согласен, тут уж выбирать тому кто этот проект ведет. В конце концов такой сервис мне кажется полезен именно для помощи, а не для совместного перевода.
И у меня есть сомнения что там есть функции импорта. Хотя можно и вручную все строки на сайт забить, но проще файлом.Импорт там через файл происходит. Разделение на строки через два Enter'a. Даже сабы грузить можно и выгружать тоже в этом формате или в txt.
Лучший перевод можно определять по количеству голосов, при этом вес голоса экспертов выше чем у рядовых пользователей.Такая демократия не нужна: миллионы хомячков не могут ошибаться? :D
Такая демократия не нужна: миллионы хомячков не могут ошибаться?А вот не скажи, если миллионам хомячков нужен именно такой перевод, то значит он все таки чем-то лучший. Не самый качественный, но лучший для того сообщества которое голосовало.
Ещё в операционной медсёстрам можно устроить голосование, как хирургу резатьНу... если бы хирург попросил, может им и стоило бы посоветоваться :D Ведь пользователь, создающий такой проект как раз просит помощи в вариантах перевода, а значит и не является хирургом :)
Импорт там через файл происходит. Разделение на строки через два Enter'a. Даже сабы грузить можно и выгружать тоже в этом формате или в txt.Вот всегда так, только что-то придумаешь, а оказывается все сделано! :) Впрочем я свой велосипед все равно сделаю, мозги надо разминать... а то на работе с Bitrix'ом с базой почти не приходится работать.
А вот не скажи, если миллионам хомячков нужен именно такой перевод, то значит он все таки чем-то лучший. Не самый качественный, но лучший для того сообщества которое голосовало.Если большинство ошибается, это не значит, что следует повторять их ошибку.
Ведь пользователь, создающий такой проект как раз просит помощи в вариантах перевода, а значит и не является хирургомЕсли он хочет, чтобы пациент выздоровел, а не стал калекой (или вообще умер), ему следует спросить совета у опытного хирурга, а не у медсестёр, дворников и других неспециалистов.
А вот не скажи, если миллионам хомячков нужен именно такой перевод, то значит он все таки чем-то лучший. Не самый качественный, но лучший для того сообщества которое голосовало.Мне казалось, что тут большинство переводит для себя, так сказать просто из интереса, а не для кого-то :)
Кстати, каждый человек обладает уникальным стилем письма, выражающимся в употреблении определённых комбинаций слов, etc. На основании этого специалисты даже атрибуцию текстов производят. Если не один десяток людей будет переводить, не будет ли конечный результат выглядеть неестественным? :)Да я и сам хотел бы посмотреть на такого монстра :) Только мне кажется больше 3 человек активно в одном-взятом проекте участвовать наврятли будут.
Мне казалось, что тут большинство переводит для себя, так сказать просто из интереса, а не для кого-то :)Последнее слово конечно за переводчиком) Но всегда же интересно посмотреть результаты "народного" голосования, не?
Хм... а какие ещё форматы было бы неплохо импортировать?Обычные текстовики с произвольным обозначением конца строки. То есть, например, есть файл eng.txt в котором конец строки обозначается, например, как /конец_строки/. Нужно чтобы вики-перевод умел корректно раздирать такой текстовик на строки. В идеале скрипт должен поддерживать несколько разных концов строк одновременно.
Нужен переключатель 1 - одна пустая строка 2 - две пустые строки 3 - проект круптар 4 - поле куда юзер вносит значениеПустых строк может быть и ноль. К тому же перед концом строки может быть или не быть символ переноса строки. То есть может быть так:
Procedure TTextProject.SplitText(Num:LongWord;Orig,Modif:PStringList;OrigArr,ModifArr:PLArr);
Var
Str,CurEnd:WideString;
MinP,CurP,MinEnd,EndLeng,i:LongInt;
ElemNum:LongWord;
Begin
Str:=Files[Num].Orig_Strings.Text;
ElemNum:=0;
Orig.Clear;
While Length(Str)>0 do begin //разделение оригинального текста
MinP:=Length(Str)+1;
MinEnd:=-1;
EndLeng:=0;
For i:=0 to Ends.Count-1 do begin //поиск ближайшего конца строки
CurEnd:=GetDecEnd(i);
CurP:=Pos(CurEnd,Str);
If (CurP>0) and (CurP<MinP) then begin
MinP:=CurP;
MinEnd:=i;
EndLeng:=Length(CurEnd);
End;
End;
Orig.Add(Copy(Str,1,MinP-1)); //добавление текстового элемента
Delete(Str,1,MinP-1+EndLeng); //удаление текстового элемента из исходной строки
SetLength(OrigArr^,ElemNum+1);
OrigArr^[ElemNum]:=MinEnd;
Inc(ElemNum);
End;
If (OrigArr^[ElemNum-1]<0) and (ElemNum>0) then begin //проверка на пустой элемент
Str:=Tnt_WideStringReplace(Orig.Strings[ElemNum-1],#13#10,'',[rfReplaceAll]);
If Str='' then Orig.Delete(ElemNum-1);
End;
Str:=Files[Num].Modif_Strings.Text;
ElemNum:=0;
Modif.Clear;
While Length(Str)>0 do begin //разделение изменяемого текста
MinP:=Length(Str)+1;
MinEnd:=-1;
EndLeng:=0;
For i:=0 to Ends.Count-1 do begin //поиск ближайшего конца строки
CurEnd:=GetDecEnd(i);
CurP:=Pos(CurEnd,Str);
If (CurP>0) and (CurP<MinP) then begin
MinP:=CurP;
MinEnd:=i;
EndLeng:=Length(CurEnd);
End;
End;
Modif.Add(Copy(Str,1,MinP-1)); //добавление текстового элемента
Delete(Str,1,MinP-1+EndLeng); //удаление текстового элемента из исходной строки
SetLength(ModifArr^,ElemNum+1);
ModifArr^[ElemNum]:=MinEnd;
Inc(ElemNum);
End;
If (ModifArr^[ElemNum-1]<0) and (ElemNum>0) then begin //проверка на пустой элемент
Str:=Tnt_WideStringReplace(Modif.Strings[ElemNum-1],#13#10,'',[rfReplaceAll]);
If Str='' then Modif.Delete(ElemNum-1);
End;
End;
А может быть и так: Bla-bla-bla.{end}Так в круптаре быть не может. Перенос перед {END} обязателен.
Так в круптаре быть не может. Перенос перед {END} обязателен.Я же не про Круптар говорю, а про произвольный текстовик. Вместо {END} может быть тоже что угодно, хоть [енто_конец] хоть /00
В любом случае.Есессно разные. Я ведь говорю про то, что нужно учитывать любые вариации: и когда код конца строки находится на строке с текстом и когда ниже текста.
#$0A{END}
и
{END}
Это два разных кода. И объединять их в один, обрезая код разрыва строки, не стоит.
На конце строки может быть только второй вариант и это, конечно, должно указываться.Блин, я же говорю, что я не про Круптар.
Блин, я же говорю, что я не про Круптар.Я тоже говорю, что я не про круптар. А про общее.
Исправьте сверху "magic translates" на что-то другое :)"Магия переводит"... (?°?°???? ??
Выскакивающий плюсик лучше сделать всегда видимым. А то не очень приятно это дёрганье, когда мышкой водишь.Там особенность скрипта в том что этот плюсик физически один, просто он перепрыгивает с одного блока в другой при перемещении мыши. Но вообще сделал так чтобы ничего не прыгало (в смысле не прыгает блок по высоте, плюсик все так же гуляет)
magic translatesMagic Translations? ;D
Цитировать (выделенное)Ну это же так оставили. Magic Translations - Магические переводы. Хорошее название для сервиса.
magic translates
Magic Translations? ;D
Да, переводчик из меня ну никакой. Предлагаем лаконично умещающиеся в шапку варианты ;)
Может ещё какие идеи, предложения?Словарь надо сделать. По-русски говоря глоссарий надо для проектов. Правда нужен ли он вообще и чтобы ещё в виде панельки двигался при скролле - не знаю.
<div id="footer">
<div id="footer-mg">
<form>
<table class="search">
<tr>
<td>
Поиск по абзацам:
</td>
<td>
<input type="text" name="search" value="" maxlength="30" size="30">
</td>
<td>
<input type="checkbox" name="search_original">Оригинал
</td>
<td>
<input type="checkbox" name="search_translate">Перевод
</td>
<td>
Главы:
<select id="select_search_paragraph" name="select_search_paragraph" style="width:200px;">
<option value="all">Все</option>
<option value="one_paragraph">Первая глава</option>
<option value="two_paragraph">Вторая глава</option>
<option value="i.t.d.">и т.д.</option>
</td>
<td>
<input value="Поиск" type="submit">
</td>
</tr>
</table>
</form>
</div>
</div>
</br>
Это понадобится при поиске текста, когда выбираешь главу... если глав больше 10 шт.Сделал
Плюс - если комментариев будет 20 шт, то это на сколько блок растянется.Можно показывать только пару самых новых и кнопочку "показать все".
Нужно отображать всё. Чтобы переводчик заметил сразу, что ему сказали, а не тыкал по всем ячейкам, чтобы найти комментарий.Ещё раз.
можно будет в проекте увидеть последние комментарии (пока нет)
и по цифре рядом с значком
И почему нельзя редактировать, а только добавлять новое?Потому что если ты скажешь, что я перевёл неправильно, то я отредактирую и скажу, что всё у меня правильно и не надо мыть глаза компотом, т.е. обману тебя. И если я случайно при редактировании сотру перевод и сохраню, или при плохом инете (у меня на работе больше 600 знаков режет прокся) данные не до конца передадутся, то придётся заново переводить.
Нужно отображать всё. Чтобы переводчик заметил сразу, что ему сказали, а не тыкал по всем ячейкам, чтобы найти комментарий.Нужно отображать всё. Чтобы переводчик заметил сразу, что ему сказали, а не тыкал по всем ячейкам, чтобы найти комментарий.Ещё раз.
Вы на форуме ссылкой "Новые сообщения с последнего визита" пользуетесь?Не пользуюсь.
Чем она вам не нравится?Не удобно. Удобнее самому заходить в разделы и смотреть какие темы обновились.
Не удобно. Удобнее самому заходить в разделы и смотреть какие темы обновились.Да, да!
Почему там нельзя все главы экспортировать в один файл?Если я добавлю в экспортируемый файл информацию о главе - это уже не будет формат Круптара. В будущем планирую сделать разные форматы импорта экспорта, кстати какой вариант был наиболее удобным?
И ещё что-то глючит оно. Открываю первые главы в RS (сокращённое название игры, чтобы никто не догадался), а таблица пустая.Странно. И сейчас так? Может временный глюк был.
JurasskPark, не прошло и 5 месяцев! :-[Это была шутка и мотиватор. :)
И еще при сохранении более правильного варианта и попытки поправить и сохранить другой диалог или текст в том же окне, ничего не происходит, пока не обновишь страницу)))
Опция действие, при наведении на значки не появляется надписи, что это за значок!Угу, обязательно подпишу в скором времени, а то они не такие уж очевидные.
И еще будет ли такая фишка. При входе в проект, появляется дата изменения текста, но найти его сложно самому, если там тонна текста. Можно ли прикрутить кнопочку при нажатии на которую ты перескакиваешь автоматом на ближайшее исправление.Сделаем, правда вещь не самая простая. Тут даже не мне страшно, а серверу, потому что у меня честно говоря нет идей как запросом определить на какой именно странице находится искомый абзац с вариантами.
1) А можно сделать поле, где будут отображаться пользователи у которых есть туда доступ?Да, это-то без проблем. Фактически можно дописать в столбец "Создатель", через запятую после создателя, только более мелким шрифтом.
2) И быстрый поиск по пользователям.Сейчас на страницах задания прав есть выпадающий список, и его пока достаточно, но в ближайших планах заменить его на Autocomplete в стиле того что сейчас есть на странице проекта (фильтр-поле Глава, пишешь в него, а оно предлагает варианты подходящие)
1) Сейчас кто зарегистрируется - не имеет право создавать проекты.Поправил
2) Я создал проект, но не могу дать на него права.Вроде проверил - права работают как надо, может это проблемы с авторизацией были, см. ниже
4) Когда количество абзацев не совпадает, то считаю не нужно создавать главу. Во-первых, перевод идёт сдвинутый и возможности его сместить нет. Во-вторых, если я главу уберу в корзину и импортирую новую, то главы отображаются и из корзины.Теперь если количество абзацев не равно, ничего создавать не будет, выдастся соответствующее предупреждение. Так же в списке глав которые доступны для импорта отсутствуют главы из корзины
5) Всё же удалять проекты и главы так, чтобы они не мозолили глаза. Т.е. из корзины тоже. Пускай через админа или через какое-то время, пускай даже остаются в БД, но чтобы глаза их не видели.ОК, думаю доработаем корзину по тому же принципу работы её же в Windows. Проект можно удалить из корзины безвозвратно (это может сделать админ), или же она сама удалится через определённое время. Так будет хорошо? Думаю если уж удалять то и из базы в том числе. Удаление без удаления без базы сейчас и так есть - это и есть корзина:)
6) В описание проекта не учитываются переносы.Поправил
7) Из самого проекта, нет быстрого перехода в Импорт глав. Нужно выходить опять во все проекты и оттуда уже делать импорт. Сделать такие же кнопочки как у Проектов, где Все, Мои , Удаленные и т .д. , только тут будет Создать главу, Импортировать главу.Даа... с юзабилити ещё работать и работать. Предложенный вариант реализовал (пока оставил те же иконки для простоты)
Когда импортируешь главу, то система назначает новой главе Позицию 0 (после Сортировка), а когда создаешь главу через Создать главу, то систему требует указать Позицию и 0 уже поставить не даёт.Теперь импорт проставляет позицию 1, пусть нулей лучше не будет :)
Надоедает постоянно авторизовываться... не держит сессию.С авторизацией были проблемы, сейчас вроде проставил. Запоминается ключ в Cookies, поэтому при перезапуске браузера авторизация тоже должна сохраняться. По поводу галочки "запомнить" подумаю в будущем, но сейчас она как бы всегда "проставлена")
Реально сделать так же как на форуме? Хотя бы галочку "Запомнить".
С авторизацией были проблемы, сейчас вроде проставил. Запоминается ключ в Cookies, поэтому при перезапуске браузера авторизация тоже должна сохраняться. По поводу галочки "запомнить" подумаю в будущем, но сейчас она как бы всегда "проставлена")Благодарствую ))
1) При добавление варианта перевода он становится вверх списка, меня пугает что порядок собьется... Да и не удобно так :) .Не могу понять? А в чем неудобность? История идёт в порядке актуальности и даты. Новые сначала, старые внизу.
6) Как удалить вариант перевода или редактировать? Оригинал можно - дважды кликнув.Никак. Чтобы не жульничали, "что я сам до такого варианта додумался, никто мне не писал".
Не могу понять? А в чем неудобность? История идёт в порядке актуальности и даты. Новые сначала, старые внизу.Сверху вниз читать перевод/оригинал... иногда чтобы ошибки в переводе не было, нужно знать о чем идет речь до этого сообщения, а иногда и после (я так считаю), а если все новые кучкуются вверх - где порядок? Так же и комментарии поднимают сообщение вверх.
Никак. Чтобы не жульничали, "что я сам до такого варианта додумался, никто мне не писал".При экспорте какой вариант будет учитываться? "Сердце" - избранный вариант?
Как можно добавлять новый вариант перевода не видя текст? :oЯ тебя совсем не понял. Неужели я так вымотался за день?!
Не вижу смысла.
1) Очень нужна функция редактировать/удалить свою версию перевода.Удаления вариантов перевода делать не буду. Подумаю над скрытием. Я понимаю что можно сделать глупую ошибку и неплохо бы дать автору возможность скрыть её.
2) Зачем в комментах вариант перевода?!Ну, в идеале это смотрится так: автор что-то перевел, дальше ему что-то посоветовали, он перевел ещё. И все это выглядит в виде связной истории изменений. Подумаю над тем чтобы в настройках профиля дать возможность отключать просмотр вариантов в комментариях.
1) При добавление варианта перевода он становится вверх списка, меня пугает что порядок собьется... Да и не удобно так .
3) Пожалуйста, сделай нумерацию или закрепи оригинал чтобы он не прыгал наверх... у меня было 6 страниц с комментариями, читал все с первой страницы... решил проверить вдруг не все "прыгнули" вверх, и нашёл парочку на разных страницах, к тому же магическим способом вариант который был на первой странице преследовал меня почти на каждой следующей страницеДумаю эти проблемы решились сортировками :)
4) Мелочь, но вдруг можно поправить. См. скрин.Спасибо, поправил. Что интересное в коде возможность была предусмотрена (названия кнопки), но переменную забыл инициализировать... ах, я бы мог получить премию самого рассеянного программиста года :)
2) Перетаскивания глав вверх и вниз, вместо сортировки. О-очень удобно станет .Начал. Как будет выглядеть визуально уже можно оценить :)
При экспорте какой вариант будет учитываться? "Сердце" - избранный вариант?Я так планировал. А вот сделано ли это... уже забыл)) Импорт и экспорт в первом приоритете по доработкам.