Утилита-приложение для экспорта переводов
Этот проект – дальнейшее развитие вот этого вот http://notabenoid.org/blog/33891.
Пока оно умеет только экспортировать переводы, ну да это дело наживное.
Оно уже умеет в экспорт, импорт и поиск :)
Выглядит примерно так:

Скачать и посмотреть скриншоты можно тут:
http://vayurik.ru/utils/notabenoid-tools
Об обнаруженных ошибках пишите в комменты.
Пожелания можно пока даже не писать :) Это мой первый сексуальный опыт с С#, так что не обессудьте.
Сказать «спасибо» можно тут, внизу страницы: http://vayurik.ru/tools/notabenoid
Changelog:
26/03/2017: добавлен импорт переводов из файла на сайт и поиск подстроки по всему проекту перевода.
05/03/2017: первая версия, умеет экспортировать переводы отдельно взятой главы с сайта в файл.
Оно уже умеет в экспорт, импорт и поиск :)
Выглядит примерно так:

Скачать и посмотреть скриншоты можно тут:
http://vayurik.ru/utils/notabenoid-tools
Об обнаруженных ошибках пишите в комменты.
Пожелания можно пока даже не писать :) Это мой первый сексуальный опыт с С#, так что не обессудьте.
Сказать «спасибо» можно тут, внизу страницы: http://vayurik.ru/tools/notabenoid
Changelog:
26/03/2017: добавлен импорт переводов из файла на сайт и поиск подстроки по всему проекту перевода.
05/03/2017: первая версия, умеет экспортировать переводы отдельно взятой главы с сайта в файл.

Можно добавить возможность экспорта и импорта с таймингами.
Например есть загруженный на ноту оригинал и переведённый оффлайн вариант с удалёнными песнями из перевода. Нужно импортировать в ноту так, чтобы в оригинале фразы с песнями остались пустыми, а перевод внёсся строго по таймингам.
скрытые комментарии (8 шт.)
Не очень понял.
Если можно, ссылку на проект и пример файла перевода.
Ну просто, у вас есть оригинал состоящий из 500 фраз и перевод из 495 фраз. Нужно, чтобы перевод импортировался по таймингу, а эти недостающие 5 фраз остались пустыми.
Ну, грубо говоря if else:
Массив А – оригинал состоящий из тайминга и фразы
Массив Б – перевод состоящий из тайминга и фразы
if (тайминг А совпадает с таймингом Б)
{вставить перевод}
else {пропустить}
Я с таймингами не работаю, но суть, кажется, понял.
Сдаётся мне, что это тот случай, когда проще предварительно подготовить файл, чем пытаться перенести весьма частный случай в скрипт/программу.
Достаточно найти такие пропущенные фрагменты и на их месте оставить пустые строки, тогда при импорте-втягивании в соответствующих строках перевода не будет. Это можно сделать в режимах 1 и 3, во втором не помню, кажется нельзя. Там можно курсор навести на кнопочки – вылезет подсказка с описанием.
http://vayurik.ru/tools/notabenoid/import_translate_file.php
Хм... Может, и ко второму режиму что-то подобное каким-то образом прикрутить? Три пустые строки подряд == пропущенному фрагменту, м? Сабы же многострочные, да?
Посмотрел.
Забыл совсем, там же для srt своя галочка есть, потому что файлы своего формата.
Но там проверки никакой не делается, да. Но при текущем, универсальном алгоритме сделать иначе просто невозможно, потому что сперва отдельно делается проверка на количество фрагментов, потом получается ID оригинала и к нему просто добавляется перевод, т.е. никакого анализа при этом не делается совсем.
Единственное, что я попытаюсь сейчас сделать, это проверку на уже присутствие такого перевода, который пытается добавиться (см. http://notabenoid.org/blog/33891#cmt_2582480).
Сделал: http://notabenoid.org/blog/33891#cmt_2589901
Да это ведь так, утопический вариант программы. Не то, чтобы я каждый день ей пользовался (даже раз в месяц).
А по поводу «найти пропущенные фрагменты» – так и делал. Но это был случай, когда найти фрагменты можно было аналитически просто просмотрев оригинал. А если представить случай, что найти пропущенные фрагменты реально сложно, то становиться проще перенести перевод CTRL+C CTRl+V нежели с помощью вами созданного скрипта.
Понятное дело, тут уж кому как проще – всем угодить задача и не стояла.
Просто я многие вещи привык делать регулярками во всяких NP++ и Ультраэдитах, так что изначально утилиты писались с минимумом функционала, это со временем они стали обрастать настройками просто потому, что «почему бы и нет», а сейчас что-то кардинально менять слишком трудозатратно.
Я знаком с программированием на уровне php, поэтому для меня программирование выглядит в принципе проще, чем оно есть на самом деле :D
Новая версия – теперь с импортом переводов и поиском по всему проекту.
Попробовал, не плохо. Спасибо!
Мне не хватает нет возможности импортировать наполовину переведенные переводы.
если бы была такая возможность после того как выпадает обработчик ошибок о несовпадении числа переводов
галочка / кнопка все равно добавить перевод фрагментов. было бы здорово.
спасибо!
скрытые комментарии (1 шт.)
В таком случае не очень понятна логика поведения приложения. И ладно, если надо добавить сначала, а если с конца?
Однако есть и хитрый метод. Заключается он в том, чтобы добить файл до нужного количества строк пустыми строками. Когда-то я именно так и поступал. Хотя, возможно, с тех пор алгоритм и изменился, но в любом случае попробовать стоит.
да, с приложением лучше чем без него. Спасибо, полезная программа.
а костыли придумать не сложно – вставить, например, в не переведенные фрагменты цифры
прогрузить, а потом удалить вставленные цифры из фрагментов .........
скрытые комментарии (1 шт.)
Да не, не нужно просто совсем ничего вставлять – просто оставить пустые строки.
Хорошая программа. Спасибо.
скрытые комментарии (1 шт.)
На здоровье :)
Потом посмотрю, есть ли смысл и дальше её пилить, добавляя функциональность веб-версии. Всё же на php фигак-фигак – готово, а тут на один гуй и взаимодействие форм времени уходит огого :(