Утилиты-скрипты для экспорта/импорта переводов, а также поиска по всем главам

Если кому интересно, допилил свои скрипты для экспорта/импорта переводов и поиска по всем главам проекта.

Подробнее о функционале можно прочитать тут:
Про всё по чуть-чуть: http://anivisual.net/blog/2017-01-30-260
Про экспорт перевода: http://anivisual.net/blog/2014-09-29-64
Про импорт перевода: http://anivisual.net/blog/2014-10-14-72
Про проверку текстового файла: http://anivisual.net/blog/2014-12-15-73

Онлайн: http://vayurik.ru/tools/notabenoid/
Оффлайн: https://github.com/VaYurik/notabenoid-tools

По всем вопросам – обращайтесь.

Changelog:


24/11/2021: на GitHub выложена оффлайн-утилита для экспорта перевода отдельно взятой главы
07/11/2021: оффлайн (назовём ЭТО так) утилиты на 3-м Питоне для поиска по проекту и для экспорта проекта перевода: https://github.com/VaYurik/notabenoid-tools
22/04/2020: полностью переписан код утилиты для переноса текста, теперь она умеет переносить и по слогам.
02/03/2018: добавлена возможность удаления непереведённых фрагментов из главы (см. https://vk.com/vayurik?w=wall198054534_10239).
04/04/2017: добавлен поиск фрагментов с комментариями в проекте перевода (см. https://vk.com/vayurik?w=wall198054534_7532)
05/03/2017: добавлена настройка, позволяющая не импортировать повторно переводы, если они уже имеются на сайте.
30/01/2017: добавлены функции создания главы перевода, импорта (загрузки) оригиналов из текстового файла в уже созданную главу перевода и заодно очистка (т.е. удаление всего содержимого) главы перевода. (см.https://vk.com/vayurik?w=wall198054534_7343)
28/05/2016: добавлена функция создания резервной копии всего проекта перевода в виде ZIP-архива.(см.https://vk.com/vayurik?w=wall198054534_6369)
13/05/2016: добавлена настройка проверки только текста, расположенного между кавычками.(см.https://vk.com/vayurik?w=wall198054534_6274)
18/03/2016: добавлен экспорт перевода в XML-файл. (см.https://vk.com/vayurik?w=wall198054534_5912)
21/11/2015: добавлена передача параметров в скрипт поиска подстроки через ссылку (см.https://vk.com/wall198054534_5034)
6/08/2015: добавлен поиск и замена по всем главам проекта перевода.
6/05/2015: добавлен поиск по всем главам проекта перевода.
Написал DOOMer 7 января 2015, 13:38 Общение 209 комментариев

Комментарии

Я часа два назад в качестве теста создавала и новую главу, и новый перевод. И оба раза оригинал нормально импортировался. Но воспользоваться утилитой не выходит. Но это, видимо, потому что я что-то не так делаю.

pfqrf 07.01.15 в 14:07 · # ·
0

скрытые комментарии (4 шт.)

Если не сложно, дайте ссылку на главу, с которой проявляется проблема.

DOOMer 07.01.15 в 14:14 · # ·
0

Можно в ЛС

DOOMer 07.01.15 в 14:15 · # ·
0

Ага, я понял: если добавлять вручную фрагмент за фрагментом, то оригинал добавляется. Не работает именно импорт из файла/текста.

С остальным сейчас буду разбираться :)

DOOMer 07.01.15 в 14:25 · # ·
0

Готово.
Реализована поддержка импорта srt-файлов, а заодно и многострочных фрагментов, разделённых пустыми строками.

Я, конечно, потестил, но настоятельно рекомендую не полениться, создать какую-нить тестовую главу и тоже немного потестировать. Всё же в случае, если что-то пойдёт не так, то по собственному опыту могу сказать, что будет проще удалить целиком главу и создать её заново, чем вручную удалять криво залитые фрагменты в огромных количествах :)

Так же напоминаю, что файлы должны быть в кодировке UTF-8, иначе результат может оказаться отличным от ожидаемого :) Автораспознавание кодировки именно в скрипт импорта я внедрять не хочу – чревато, лучше с кодировками ковыряться осмысленно ручками.

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

Если что – всегда готов помочь :D

Удачи!

DOOMer 07.01.15 в 21:56 · # ·
2

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

paloozer 07.01.15 в 20:58 · # ·
0

скрытые комментарии (2 шт.)

Если в обозримом будущем не починят, напишу скрипт для подстрочного добавления оригинала. Сперва закончу реализацию импорта srt-файлов для переезжающих обратно в родные пенаты из всяких Котранслейтов... :)

DOOMer 07.01.15 в 21:05 · # ·
2

*построчного :)

DOOMer 07.01.15 в 21:06 · # ·
0

Скажите, а те скрипты, которые вы делали для Mozilla, это тоже самое?

antoniolagrande 08.01.15 в 12:51 · # ·
0

скрытые комментарии (5 шт.)

Что есть "скрипты, которые я делал для Mozilla"?

DOOMer 08.01.15 в 19:12 · # ·
0

Или это были не ваши?

antoniolagrande 08.01.15 в 21:19 · # ·
0

Так как я не очень понял, о каких скриптах речь, то не могу ответить на этот вопрос :)

DOOMer 08.01.15 в 21:29 · # ·
1

Ну, скрипт greasemonkey для автоматического добавления перевода))

antoniolagrande 09.01.15 в 07:09 · # ·
0

Не, я такого не писал :)

DOOMer 09.01.15 в 12:30 · # ·
0

DOOMer, спасибо за скрипты!

JuliaS 08.01.15 в 13:10 · # ·
0

скрытые комментарии (1 шт.)

На здоровье

@}->-

DOOMer 08.01.15 в 19:11 · # ·
0

у меня не вышло( пишет, что глава доступна только модераторам, хотя я даже настройки перевода поменяла, сделала его польностью открытым( логин-пароль указала внизу, не помогло(

sheypa 09.01.15 в 19:06 · # ·
0

скрытые комментарии (7 шт.)

Если несложно, киньте мне ссылку на главу, которая взбрыкнула. Можно в личку. Поизучаю.

DOOMer 09.01.15 в 19:14 · # ·
0

на главу? в описании было написано «проект».
я дала вот эту ссылку? надо было главу создать?

sheypa 09.01.15 в 19:27 · # ·
0

Не-не, главу, конечно.
Ведь «молекулой» тут является именно глава (по аналогии – атомом является фрагмент) :)
Т.е., например, http://www.notabenoid.org/book/56317/248670
(Какое милое название :D)

Мде... Пожалуй, сейчас переименую «проект» в «главу» или типа того. Во избежание.

DOOMer 09.01.15 в 19:42 · # ·
0

Исправил

DOOMer 09.01.15 в 19:46 · # ·
0

спасибо) попробую еще раз.

sheypa 09.01.15 в 19:50 · # ·
0

Удачи!

Если что – обращайтесь.

DOOMer 09.01.15 в 19:50 · # ·
0
sheypa 09.01.15 в 19:27 · # ·
0

DOOMer, огромное спасибо!

SeRRegina 13.01.15 в 11:52 · # ·
0

скрытые комментарии (9 шт.)

Не за что :)

Как оказалось, при импорте могут теряться фрагменты (если сервер не успевает «усвоить» данные): проверяйте количество реально залитых фрагментов.

Со своей стороны я в ближайшее время постараюсь что-нить с этим придумать. Пока же поставил небольшую задержку после заливки каждого фрагмента – наберитесь терпения :)

На баннеры там кликайте, вам минута – а мне хоть раз в несколько лет хостинг оплатить :D

DOOMer 13.01.15 в 12:03 · # ·
0

Не вопрос, обязательно) И не раз кликнем. :)
ЗЫ. Я спецом проверила оба файла – идут ноздря в ноздрю, что называется.

SeRRegina 13.01.15 в 12:07 · # ·
0

Ну и хорочо :)
А я вот в своих нашёл несколько косяков :(

Но сегодня, надеюсь, поборю :)

DOOMer 13.01.15 в 12:27 · # ·
0

А как вы обнаружили косяки?
Я просто пролистала и сверила: немного в начале, немного в конце.
Или этого недостаточно для выявления косяков?
Еще раз спасибо за очень нужные и полезные инструменты)

SeRRegina 13.01.15 в 12:40 · # ·
0

Я посчитал количество фрагментов после заливки на Ноту за моим авторством и количество фрагментов в файле. Заодно обнаружил такую вот ошибку: http://notabenoid.org/blog/33933

:)

DOOMer 13.01.15 в 13:43 · # ·
0

Но в моём случае в проекте уже были переводы. В общем же случае (когда до импорта переводов нет) достаточно посмотреть, есть ли в главе фрагменты БЕЗ переводов.

DOOMer 13.01.15 в 13:44 · # ·
0

А в этом случае статистика перевода в главе не показывает, что чего-то не хватает?
ЗЫ. Хотя, наверное, у меня для вашей утилиты очень простой случай и, соответственно, задание:
перевод полностью готов. Файлы оригинала и перевода полностью соответствуют друг другу по стат. показателям)

SeRRegina 13.01.15 в 13:49 · # ·
0

Ну и славно :)

В любом случае, я проблему почти уже решил и минут через 10, надеюсь, залью исправленный код

DOOMer 13.01.15 в 14:07 · # ·
0

Что-то я там наколдовал.
Костыли, костыли, 302, костыли...

:D

DOOMer 13.01.15 в 15:20 · # ·
1

Спасибо большое за ваши труды!

magnifika 14.01.15 в 12:36 · # ·
0

Огромное Вам спасибо! Незаменимый скрипт!

Firefly2012 14.01.15 в 19:23 · # ·
0

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

nworm 16.01.15 в 09:14 · # ·
0

скрытые комментарии (1 шт.)

Думал об этом тоже... Не помню, что надумал. Если мне не изменяет память, то возникли техническо-этические трудности: переводы явно лежат на странице, а комменты выдаются сервер по запросу, т.е. чтобы получить комментарии для одной строки оригинала придётся дёргать отдельным запросом сервер. Сколько строк – столько потребуется запросов. Не уверен, что стоит создавать такой трафик как минимум без санкции Дмитрия.

DOOMer 16.01.15 в 09:45 · # ·
0

Подскажите пож, что я делаю не так. При попытке импорта текста возникает ошибка:
Ошибка отправки данных; начиная с фрагмента 0 переводы импортированы не будут
Что это значит? Текст в utf-8, впрочем с ansi то же самое.

Dimon485 21.04.15 в 09:11 · # ·
0

скрытые комментарии (18 шт.)

Удалённый комментарий.

Когда количество строк отличается, то там другой текст ошибки. Естественно количество строк одинаковое. Дело в чем-то другом. =/
Попробовал UTF с BОМ и без BОМ – все равно не работает =(

Dimon485 21.04.15 в 19:14 · # ·
0

Можно ссылку на проект, который хочется залить?
Такая ошибка выдаётся в случае, если сервер... не отвечает взаимностью :)

DOOMer 21.04.15 в 19:55 · # ·
0
Удалённый комментарий.

Дык это... Статус-то какой у главы? :D При таком статусе невозможно добавлять переводы.

DOOMer 21.04.15 в 20:22 · # ·
0

Кто ж знал! =) Спасибо, все получилось.
А можно отследить этот момент в ходе работы скрипта, чтобы вместо безликой фразы отобразить реальную суть проблемы?

Dimon485 21.04.15 в 21:08 · # ·
0

Теоретически возможно всё, вопрос в целесообразности :)

В данном случае, чтобы получить статус перевода, нужно парсить ещё и страницу проекта, что, по-моему, не имеет смысла. В тех проектах, где я участвовал и участвую, статус меняется только тогда, когда это действительно нужно. А чаще так и вовсе не меняется :)

DOOMer 22.04.15 в 11:04 · # ·
1

В целом согласен. Это скорее исключение. Тем не менее, предлагаю добавить предупреждение о том, что статус перевода не должен быть «готов» в инструкцию по работе скрипта.

Dimon485 22.04.15 в 11:18 · # ·
0

Тогда другой вопрос =)
А можно внедрить автоматическое конвертирование в UTF-8? Чтобы не забивать себе голову хотя бы этим.

Dimon485 22.04.15 в 11:21 · # ·
0

Дык оно это... уже это умеет вроде. Лезть смотреть лень, но я с той поры, кажись, уже добавил автоопределение кодировки и приведение её к UTF-8. Раньше потому что там висело предупреждение об UTF-8, сейчас уже не висит.

DOOMer 22.04.15 в 14:48 · # ·
0

Неа, с ANSI не работает:
Ошибка отправки данных; начиная с фрагмента 1 переводы импортированы не будут
Прошу принять меры =)

Dimon485 22.04.15 в 21:24 · # ·
0

Завтра, может, гляну. Но кому нафиг нужен этот ANSI?! :D

DOOMer 22.04.15 в 21:52 · # ·
0

Ну как же! Это стандарт от Микрософта! А вот «кому нафиг нужен этот KOИ8-Р?!» – это да, поддерживаю =)

Dimon485 23.04.15 в 10:16 · # ·
0

Да уж, это я, значит, что-то другое тогда мутил – не было там автоопределения кодировки :(
Зато теперь есть :) Хоть тебе ANSI, хоть UTF-8 с BOM и без, да хоть UTF-16! :D

Потестил – работает вроде: http://notabenoid.org/book/52362/248537

Прошу проверить. Если что – пиши :)

DOOMer 23.04.15 в 14:47 · # ·
0

Отлично! Вечером прлверю, а плка еще один вопрос впроброс. Не было в планах сделать пакетную заливку? Чтобы заливать соазу хотя бы по 5 файлов. А то у меня тут 300+ файлов, по одному их заливать чересчур уныло...

Dimon485 23.04.15 в 14:55 · # ·
0

Скажу так: у меня такой скрипт есть, но работает он исключительно локально и заточен под конкретный проект. Заливка переводов – действие потенциально деструктивное, нагрузку на сервер создаёт большую, поэтому, увы, в паблик такой скрипт я выкладывать не буду.

DOOMer 23.04.15 в 15:45 · # ·
0

Я понял. Значит буду мучиться...

Dimon485 24.04.15 в 13:56 · # ·
0

Да! Все работает! Спасибо!
Однако, перейдем к следующему вопросу...

Dimon485 24.04.15 в 13:56 · # ·
0

А можно как-нибудь упростить процедуру со вводом пароля? Опять же утомляет его вбивать каждый раз. Допустим через нотабеноидские кукисы или свои. Конечно же опционально. Чтобы тот, кто не против рискнуть своим паролем, мог бы поставить соответствующую галочку и тем самым избавить себя от вбивания пароля НАВСЕГДА! Ну или хотя бы на какое-то время.

Dimon485 24.04.15 в 14:05 · # ·
0

скрытые комментарии (6 шт.)

Странно... У меня мой пароль сам подставляется браузером... Разве что после нажатия кнопки «Назад» в браузере приходится его вводить. Предлагаю порыться в настройках браузера; возможно, когда-то ты просто выбрал «не сохранять пароль для этого сайта».

Сохранять пароли ни в каком виде я не буду. Это вопрос из разряда религиозно-этических :)

DOOMer 27.04.15 в 09:43 · # ·
0

Не, у меня установлено расширение, которое препятствует запоминанию паролей. Буду временно отключать значит.

Dimon485 27.04.15 в 15:54 · # ·
0

Вахаха~!!! Молодец! :)
Действительно, а почему оно не запоминает? :D

DOOMer 27.04.15 в 20:15 · # ·
1

Ну это типа настройки приватности...

Dimon485 27.04.15 в 22:01 · # ·
0

Доверять стороннему расширению такие вопросы? Моя паранойя против :) Предпочитаю или запоминать пароли средствами браузера там, где это некритично, либо «Никогда не сохранять пароль для этого сайта» и никаких гвоздей! :D

DOOMer 28.04.15 в 10:09 · # ·
1

Ваша точка зрения ясна! ;)

Dimon485 28.04.15 в 10:20 · # ·
0

Добавил новую галочку в импорте – «удалять пустые строки». А то в одном из проектов сейчас столкнулись с тем, что при втягивании оригинала, где есть пустые строки, Нота их игнорирует, а из-за того, что и в переводах они есть, приходится ручками вычищать их из файла, иначе скрипт справедливо ругался, что кол-во строк разное. Теперь этой проблемы нет.

DOOMer 27.04.15 в 14:36 · # ·
0

скрытые комментарии (6 шт.)

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

Dimon485 27.04.15 в 17:51 · # ·
0

Что есть «нотабеноидские хвостовики»?

DOOMer 27.04.15 в 20:14 · # ·
0

несколько строк, добавляемых автоматически в конец файла при скачивании. всего три варианта, в зависимости от статуса перевода главы. типа таких:
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: перевод редактируется

Переведено на Нотабеноиде
http://notabenoid.org/book/***

Переводчики: ***

Dimon485 27.04.15 в 22:04 · # ·
0

А... Ясно. Подумаю, ага :)

DOOMer 28.04.15 в 10:08 · # ·
0

Брррр! В получаемых моим скриптом файлах такого нет!

DOOMer 28.04.15 в 13:24 · # ·
0

Это есть в файлах полученных классическим нотабеноидовским скачиванием.

Dimon485 28.04.15 в 16:50 · # ·
0

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

Dimon485 28.04.15 в 10:23 · # ·
0

скрытые комментарии (7 шт.)

Это уже извращения пошли :)
Там прогресс-бар-то толком не работает, потому что чтобы оперативно вывести хоть какую-то информацию из PHP-скрипта нужно знатные костыли писать (21-й век, ага :)), чем мне заниматься категорически лень, да и велосипеды изобретать не интересно; я таки не кодер :)

DOOMer 28.04.15 в 10:50 · # ·
0

Вовсе не извращения! Это реально будет удобно. Конечно, если один файл залить, то нет проблем, а чтобы вставить ссылку на главу для последующего файла, надо мышкой выделить ссылку предыдущего. Именно это вызывает неудобства. Сделай хотя бы так, чтобы предыдущий текст выделялся целиком при нажатии на это поле. Типа как в адресной строке браузера.
А к прогресс-бару у меня как раз нет претензий. =)

Dimon485 28.04.15 в 12:30 · # ·
0

Нет, всё должно быть дефолтно. Безобразно, но единообразно :) Извращения над стандартным поведением контролов оставим школоте :)

Я пробовал в одном из своих рабочих скриптов сделать такое вот «автовыделение», так до сих пор сам себя матерю, потому что вместо привычного действия, которое руки выполняют сами, автоматично, получаю какую-то фигню.
Кстати, прям сейчас я этот велосипед там уберу, раз уж вспомнил :)

DOOMer 28.04.15 в 13:26 · # ·
0

Что ж, похоже, эта инициатива тоже мимо кассы... =(

Dimon485 28.04.15 в 16:51 · # ·
0

>Там прогресс-бар-то толком не работает,
По-моему, все привыкли и следят за прогрессом прям на ноте, наблюдая за те, как добавляются варианты перевода))

Dogcat 29.04.15 в 10:34 · # ·
0

Вот нет... У меня один знакомый так дважды перевод залил из-за этого прогресс-бара :(
Но сейчас вроде нормально работает.

DOOMer 29.04.15 в 13:07 · # ·
0

потому что большая красная кнопка)

sheypa 29.04.15 в 15:15 · # ·
0

Вот думаю, сделать ещё скриптег для поиска подстроки по всему проекту?

http://notabenoid.org/blog/34999

DOOMer 29.04.15 в 15:38 · # ·
1

скрытые комментарии (2 шт.)

Да-да-да-да-да-да-да-да.

Dogcat 29.04.15 в 15:52 · # ·
1

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

Dogcat 29.04.15 в 15:53 · # ·
0

Добавил скрипт поиска по всем главам перевода: http://vayurik.ru/tools/notabenoid/search_string.php

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

DOOMer 06.05.15 в 12:15 · # ·
0

Не работает импорт.
Пишет: «Эта глава доступна только модераторам перевода»
Хотя в правах доступа к переводу ограничений не выставлено.

VIDEOHUNTER 12.06.15 в 08:18 · # ·
0

скрытые комментарии (10 шт.)

Можно ссылочку на главу? Можно в ЛС.

Только что проверил «на кошках» – построчный импорт точно работает:
http://notabenoid.org/book/52362/248537

DOOMer 15.06.15 в 09:15 · # ·
0
VIDEOHUNTER 15.06.15 в 09:46 · # ·
0

Это ссылка на проект перевода, а нужно давать ссылку на конкретную главу, например: http://notabenoid.org/book/53951/254089

DOOMer 15.06.15 в 10:02 · # ·
0

Если так указать, то что говорит?

DOOMer 15.06.15 в 10:02 · # ·
0

Я пытался делать импорт указывая конкретную ссылку на главу
http://notabenoid.org/book/53951/254089
Пишет: «Эта глава доступна только модераторам перевода»

VIDEOHUNTER 15.06.15 в 16:36 · # ·
0

А какой режим импорта выбран?
Смотрю, там есть многострочные фрагменты. И вообще, там в оригинале рус уже вроде...

DOOMer 15.06.15 в 18:28 · # ·
0

Я вообще хотел попробовать, на будущее может пригодиться.
Режим импорта пробовал «Субтитры» и «Построчный», результат один:
«Эта глава доступна только модераторам перевода»

VIDEOHUNTER 15.06.15 в 18:42 · # ·
0

Как бы то ни было, вариант «построчный» тут не подойдёт, т.к. есть многострочные фрагменты.

Там надо мышку подвести к радиобуттону и почитать описание для каждого из режимов: есть нюансы. Особенно если есть многострочные фрагменты.

Вот, я только что выполнил «выборочный» импорт нескольких фрагментов – всё норм.

Если что, я просто сохранил оригинал со ссылками в http://vayurik.ru/tools/notabenoid/create_text_file.php, потом оставил 5 первых фрагментов и выполнил выборочный импорт.

Примерно так я и сам работаю.

DOOMer 15.06.15 в 19:18 · # ·
0

Сработал «Пофрагментный» импорт.
Благодарю, что помогли разобраться.
Возможно, в будущем пригодится.

VIDEOHUNTER 15.06.15 в 20:20 · # ·
0

Не вопрос :)
Удачи!

DOOMer 15.06.15 в 21:11 · # ·
0

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

Обращаю внимание, что такого рода операции вы проводите исключительно на свой риск.

Поиск и, разумеется, замена регистрозависимые.

Сделано средство для одного конкретного проекта для приведения в большом количестве скриптов имён и прочих именований к единообразию (ох эти ваши Поливановы с Хэпбернами :))
Но, может, кому ещё пригодится.
Об обнаруженных ошибках, как всегда, пишите в комментах.

DOOMer 05.08.15 в 21:58 · # ·
1

скрытые комментарии (1 шт.)

Ой, собственно ссылка: http://vayurik.ru/tools/notabenoid/replace_string.php

DOOMer 05.08.15 в 21:58 · # ·
0

Добавил возможность передачи параметров в скрипт поиска по проекту через URL (GET-запрос).
Теперь можно не вбивать каждый раз ссылку на проект, например, или логин/пароль, а просто один раз ввести их в URL, остальные параметры уже заполнять в форме.

Подробности: https://vk.com/wall198054534_5034

DOOMer 21.11.15 в 20:40 · # ·
1

скрытые комментарии (2 шт.)

нужная вещь, спасибо! это реально задалбывало.
по моим хотелкам/предложениям пока не решился? ;)

Dimon485 22.11.15 в 08:25 · # ·
0

Нет :)

DOOMer 22.11.15 в 12:53 · # ·
0

Добавил экспорт перевода в XML-файл.
(см.https://vk.com/vayurik?w=wall198054534_5912)

DOOMer 18.03.16 в 21:11 · # ·
0

скрытые комментарии (6 шт.)

О! Спасибо, покурю на досуге. Не знал, что есть нечто унифицированное.

DOOMer 19.03.16 в 16:06 · # ·
0

Блин, вот это печально:
For 7-bit files, extended (non-ASCII) characters are always represented by numeric character references.
А как же яп? :(

DOOMer 19.03.16 в 18:08 · # ·
0

Не, нафиг. Я этой фигнёй не пользуюсь, маны мутные (например, совершенно непонятно, что есть в https://www.gala-global.org/tmx-14b#segtype те или иные значения, в той фигне, на которую там приводится ссылка (https://en.wikipedia.org/wiki/Segmentation_Rules_eXchange), я этого тоже не нашёл (да чё уж, там ссылки все мёртвые)), а ковыряться с этой неведомой фигнёй непонятно зачем, собирая по всему интернету крупицы информации, смысла не вижу. Впрочем, если кто-то мне поможет внятно разъяснить, что там и как, то я без проблем изменю формат XML-файла (точнее, видимо, просто добавлю ещё одну опцию – «TMX»).

DOOMer 19.03.16 в 18:50 · # ·
0

Вместо манов можно посмотреть чужую реализацию... например, реализацию из OmegaT

https://sourceforge.net/p/omegat/code/ci/master/tree/src/org/omegat/util/
Файлы «TMXWriter.java» и «TMXWriter2.java»

Dogcat 20.03.16 в 05:10 · # ·
0

Ковырять чужой код, да ещё и на Яве – увольте :)
Т.е. оно, конечно, можно, только в данном случае трудозатраты получатся неадекватны результату. Меня и текущая реализация устраивает (я же под конкретную задачу этим озадачился, а не от скуки), а если кому-то очень нужно TMX и этот человек в состоянии объяснить нюансы этой штуки, не описанные в манах, – милости прошу.

DOOMer 20.03.16 в 16:58 · # ·
1

Добавил возможность проверки соответствующим скриптом только текста, содержащегося между кавычками (двойными и одинарными).
Этот функционал может пригодиться в тех проектах, где в переводах пишется не только текст, но и сопутствующая ему обвязка, например некоторые проекты на Ren'Py (та же Альфа Катавы):


ha «Прости.»
ha «Я больше никому не причиню вреда…»
«Ханако отпускает мою руку и делает шаг назад.»
«Я пытаюсь дотянуться до неё, но уже слишком поздно.»
«Её хрупкое тело сталкивается с едущим на полной скорости поездом как раз в тот момент, когда я оказываюсь на краю платформы.»
«Я опоздал…»

Хотя сейчас я бы, конечно, заливал бы для перевода ТОЛЬКО текст, а уж потом написал отдельный скрипт для обратной сборки (как в итоге и было сделано недавно в FUTUR) что логично. Что ж, век живи – век учись, как говорится :)

А без этой настройки скрипт ругался на каждую первую строчку с идентификатором персонажа, что, в общем-то, по-своему правильно, ибо не должно предложение начинаться с маленькой буквы... :)

DOOMer 12.05.16 в 22:17 · # ·
0

скрытые комментарии (1 шт.)

В этом комменте кавычки изуродованы движком Ноты :(

DOOMer 12.05.16 в 22:18 · # ·
0

День добрый, никто не пользовался вот этим плагином http://vayurik.ru/tools/notabenoid/replace_string.php, почему-то я указываю ему имя персонажа, который встречается десяток раз и ниже перевод, но почему-то не находит он имени((( Может кто сталкивался?

greengh0st 12.05.16 в 22:27 · # ·
0

скрытые комментарии (3 шт.)

Проверьте, что вы поставили галочку в нужном месте (оригинал-перевод). А вообще настоятельно рекомендую не делать автоматическую замену, лучше плагином искать нужное, а изменения делать вручную. А то ведь могут быть разные падежи.

gojungle 12.05.16 в 23:51 · # ·
2

настоятельно рекомендую не делать автоматическую замену

Категорически плюсую :)

DOOMer 13.05.16 в 09:05 · # ·
1

+1

p_zombie 09.11.16 в 00:23 · # ·
−1

Спасибо за ответ. Я думал тут принцип немного другой. Я думал программа так поступает только с фразами совпадающими на 100%. То есть имя в тексте Вася, а в фалах есть 500 Вася и 100 ВасяЛ, так вот переводятся только фразы со 100% совпадением, то есть 500 Вась))). Мой знакомый реализовал это в своей программе для перевода игр. Но в ней к сожалению нельзя переводить толпой. Может возможно такое сделать на ноте?

greengh0st 13.05.16 в 01:21 · # ·
0

скрытые комментарии (4 шт.)

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

DOOMer 13.05.16 в 09:06 · # ·
0

В последнее время я пользовался этим скриптом для замены трёх точек «...» на знак многоточия «…» – работало корректно. А вот для убирания кавычек в одном из проектов пришлось писать отдельный, довольно сложный с точки зрения логики, скрипт.

DOOMer 13.05.16 в 09:09 · # ·
0

Я не рисковала делать автозамены, но при поиске этой же утилитой находятся и ВасиЛ, так что и менять наверняка их будет тоже.

gojungle 13.05.16 в 09:41 · # ·
0

С большой долей вероятности. Кстати! Может, мне туда поддержку логики встроить? Или как это называется? Как на гугле при поиске в кавычках, например... Надо будет подумать :D

DOOMer 13.05.16 в 12:12 · # ·
0

Ребят может мы о разных утилитах говорим? точно эта? http://vayurik.ru/tools/notabenoid/replace_string.php

greengh0st 13.05.16 в 09:46 · # ·
0

скрытые комментарии (1 шт.)

Там есть еще аналогичная, но только для поиска, без замены.

gojungle 13.05.16 в 10:02 · # ·
0

а можно ссылочку для проверки.

greengh0st 13.05.16 в 10:17 · # ·
0

скрытые комментарии (1 шт.)

В заглавном посте темы.

gojungle 13.05.16 в 10:30 · # ·
0

В свете как уже имевших некогда проблем с копирастами, а также возможными в будущем (http://notabenoid.org/blog/37552), решил написать скрипт для создания резервных копий проектов переводов. Конечно, у меня уже были подобные скрипты для основных больших проектов (если бы не они и не моя паранойя, судьба пары больших проектов после закрытия старой Ноты была бы под большим вопросом), но они были без гуя и работали на локальном сервере, так что технология в некотором роде уже отработанная :D

Однако попрошу коллег-переводчиков не злоупотреблять и не создавать лишний раз нагрузку на сервер уважаемого Дмитрия.

DOOMer 28.05.16 в 09:14 · # ·
0

скрытые комментарии (1 шт.)

Как оказалось, есть проблемы с именами файлов в архиве, если в названия глав входя иероглифы и прочие символы, отсутствующие с CP866 – имейте это в виду.

DOOMer 28.05.16 в 09:54 · # ·
0

Исходники в публичном доступе будут?

Nobi 11.08.16 в 19:48 · # ·
0

скрытые комментарии (1 шт.)

Могу выслать на почту. Пиши в ЛС.

DOOMer 12.08.16 в 10:40 · # ·
0

А что случилось? Не работает что-то :( Как без рук.

gojungle 20.01.17 в 14:10 · # ·
0

скрытые комментарии (6 шт.)

Прошу прощения.

Сегодня в районе 5 утра ЧТО-ТО или КТО-ТО стёрло все скрипты из соответствующей папки. Бекапы уже подготовлены, но перезаливать старые скрипты до выяснения и изучения логов я не буду – уж больно это всё странно.

Потерпите, няши, всё будет! Постараюсь сегодня вечером уже перезапустить.

DOOMer 20.01.17 в 14:37 · # ·
0

Спасибо, ждем. И пусть страшная кара постигнет виновного :))

gojungle 20.01.17 в 14:47 · # ·
0

Всё, сделал максимально оперативно, раз это кому-то нужно (даже не ожидал, честно говоря :))

Проверил (кроме импорта и поиска-и-замены) – вроде всё работает. Если обнаружите ошибки – пишите.

DOOMer 20.01.17 в 16:51 · # ·
0

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

Alexdezh 21.01.17 в 18:55 · # ·
2

а ещё когда 100500-й сезон переводишь, и нужно посмотреть, как ты переводил что-то в первых сезонах, но не помнишь в какой серии это было, поиск по проекту – незаменимая вещь. низкий поклон за труды.
а если вдруг у вас имеется веб-мани кошелёк, напишите на сайте, хотелось бы отблагодарить копеечкой, уверен, не только мне :)

masticore 22.01.17 в 00:16 · # ·
0

так написано же)

antz 22.01.17 в 12:44 · # ·
0

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

Об ошибках, коли такие обнаружатся, сообщайте в этой теме.

О завершении работ над новыми утилитами сообщу отдельно.

Всем спасибо за понимание.

DOOMer 29.01.17 в 20:16 · # ·
0

Новые скрипты запилены. Подробный пост о них будет чуть позже.

DOOMer 30.01.17 в 17:41 · # ·
3

скрытые комментарии (1 шт.)

Пост: https://vk.com/vayurik?w=wall198054534_7343

Если вкратце: снова можно загружать главы до 4к фрагментов. А применив смекалку, то и больше ;)

DOOMer 30.01.17 в 21:59 · # ·
0

Добавил возможность передавать в скрипт-бекапер параметры через ссылку, например:

Список параметров (перечислен в «Истории версий»):

urlProject – идентификатор проекта (обычно 5 цифр),
isLink – сохранять ли ссылки (0 или 1),
isOriginal – сохранять ли оригиналы (0 или 1),
isTranslate – сохранять ли переводы (0 или 1),
isMaxRate – сохранять ли переводы только с максимальным рейтингом (0 или 1),
isTranslator – сохранять ли имена переводчиков и оценки (1-3),
isSpace – удалять ли пробелы внутри строк (0 или 1),
isCR – удалять ли пустые строки (0 или 1),
isFormat – формат итогового файла (1 – TXT, 2 – XML),
userName и userPassword – логин и пароль для доступа к закрытому проекту.

Удобно выносить в виде ссылки с настройками в описание проекта.

DOOMer 04.02.17 в 20:04 · # ·
0

скрытые комментарии (4 шт.)

Не могли бы вы объяснить это еще раз, но только для тупых? Инструкцию для чайников, так сказать.

gojungle 04.02.17 в 20:22 · # ·
0

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

DOOMer 04.02.17 в 20:48 · # ·
0

Спасибо, теперь дошло :)

gojungle 04.02.17 в 21:17 · # ·
0

Подскажите, что считается закрытым проектом?
У меня есть такой проект: http://notabenoid.org/book/45556
Он закрытый? Я не могу скачивать с него главы анонимно. Как его сделать открытым?

Some1 11.02.17 в 11:38 · # ·
0

скрытые комментарии (28 шт.)

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

gojungle 11.02.17 в 13:03 · # ·
0

Из описания утилиты:
«Далее необходимо ввести логин и пароль для доступа, если проект закрыт, и нажать кнопку «Сгенерировать». На выходе получится файл ...»
Я предположил, что у меня проект закрыт, но сама формулировка предполагает то, что проект может быть и открыт.
В общем, мне нужно, чтобы перевод мог скачать аноним. Это реально?

Some1 11.02.17 в 15:21 · # ·
0

Хотя, в принципе, можно зарегать бота, и им логиниться, чтобы скачать. Если ваша утилита позволяет простым пост-запросом передать параметры, пароль, логин, и в ответ вернёт содержимое главы.
На нотабеноиде так нельзя, потому что там авторизация через куки, а у меня запрос не позволяет отслеживать http заголовки (и, соответственно, нельзя работать с куками). Но вашу утилиту можно было бы использовать как нечто вроде прокси с интерфейсом для подключения к ноте.

Some1 11.02.17 в 15:25 · # ·
0

> На нотабеноиде так нельзя, потому что там авторизация через куки
Нет, там всё весьма прозаично. FireBug в руки, и всё как на ладони :)
Авторизацию я делал очень давно, сейчас уже точно не помню, но какого-то секса (в худшем смысле этого слова) там не было, это не МТС и не некоторые дистрибуторы, у которых порой весьма извращённые авторизации попадаются, с паролями-отзывами-явками :)

> Хотя, в принципе, можно зарегать бота, и им логиниться, чтобы скачать.
Для систематической работы в составе разных групп заведение бота является порой жизненной необходимостью :)

DOOMer 11.02.17 в 16:38 · # ·
0

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

Some1 11.02.17 в 17:09 · # ·
0

Как-то так там всё:


$snoopy = new Snoopy;
$snoopy->agent = 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0';
$snoopy->rawheaders['Pragma'] = 'no-cache';

if (isset($userName) && isset($userPassword) && (strlen($userName) > 0) && (strlen($userPassword) > 0))
{
$post_array = array();
$post_array[«login[login]»] = $userName;
$post_array[«login[pass]»] = $userPassword;
$snoopy->submit('http://notabenoid.org', $post_array);
if (strpos($snoopy->response_code, '200') === false)
{
echo 'Ошибка авторизации
' . «\n»;
echo '

';
return;
}
}

$snoopy->fetch($urlProject);

DOOMer 11.02.17 в 17:18 · # ·
0

Чуток поломалось, но суть, думаю, ясна.

Почему я использовал snoopy, а не curl? Фиг знает, не помню уже.

DOOMer 11.02.17 в 17:20 · # ·
0

Простая авторизация понятна. Только как я её сохраню? Ну авторизировался я, сервер выдал мне куки с PHPSESSID, по нему меня и узнаёт.
Эту куку я должен прикладывать к каждому запросу, чтобы он меня помнил.

Ну или есть способ сделать запрос, к примеру, на http://notabenoid.org/book/45556/353666, и одновременно авторизироваться?

Some1 11.02.17 в 17:39 · # ·
0

Думаю, нужно пояснить, я не через браузер заходу, а через игру. Она шлёт httpRequest с строго заданым header-ом, в котором нет кук, ну и естественно, не следит за куками в ответах (не запоминает их, не удаляет и т.п.), как это делает браузер.

Some1 11.02.17 в 17:41 · # ·
0

> я не через браузер заходу, а через игру.

А батенька знает толк... :D

DOOMer 11.02.17 в 18:07 · # ·
0

Ну а что, у меня игра сама себе обновления качает. Это же классно :)

Some1 11.02.17 в 18:27 · # ·
0

Вот это: submit('http://notabenoid.org', $post_array);
было бы неплохо сделать настраиваемым (хотя бы скрытое поле в форме для post-запроса, если не хотите на тарелочке выкладывать). Я знаю ещё три проекта на движке ноты, для которых ваша заливка подошла бы.

Очистку глав организовали повторной заливкой пустого контента? :)

Some1 13.02.17 в 12:19 · # ·
0

У меня на lua написан скрипт полной синхронизации глав с содержимым po файлов. Добавляет, удаляет, перемещает записи на ноте, чтобы они всегда были в актуальном состоянии. Ещё он пометки ставит для записей, когда те дублируются, начинаются/заканчиваются пробелами и т.п.

Some1 13.02.17 в 12:22 · # ·
0

Я сейчас подумываю Си Шарп освоить, а т.к. осваивать надо «на кошечках», то попытаюсь все эти тулзы перенести в приложение.
А так у всех свои задачи, это абсолютно нормально. Ещё бы API бы нормальное, может и появились бы оффлайн-клиенты нормальные. Но насколько я помню, Дмитрий заявлял, что API не будет.

DOOMer 13.02.17 в 12:28 · # ·
0

А что, Дима ещё тут появляется? Я думал, он вообще пустил всё на самотёк.

Some1 13.02.17 в 12:32 · # ·
0

Я особо не слежу. Просто проскакивает иногда, порой знакомые ссылки кидают, кто следит.
Однако неспешное приращение номера версии как бы намекает... :)

DOOMer 13.02.17 в 12:34 · # ·
0

Не хочу ничего кардинально менять, работает – не трожь :)

Нет, не заливкой. Точнее, заливкой, но не пустого контента. Даже не так...
Короче. Если вызвать скрипт заливки оригиналов из файла (в общем случае ссылка на него, когда в главе уже есть данные, недоступна), то старые данные грохаются. Т.е. достаточно залить один пустой фрагмент через эмуляцию заливки оригиналов из файла – и вуаля!

DOOMer 13.02.17 в 12:26 · # ·
0

Ну да, я это и имел ввиду. Тоже случайно нарыл.

Some1 13.02.17 в 12:28 · # ·
0

Не знаю, почему Ромахин не включил эту возможность официально.

Some1 13.02.17 в 12:30 · # ·
0

Ровно как и поиск фразы по всему проекту, например...

Однако грех жаловаться – он молодец, он проделал огромный объём работы и поддерживает до сих пор такого монстра. Честь ему и хвала :)

DOOMer 13.02.17 в 12:35 · # ·
1

А ещё есть скрипт слива всей базы, как у вас, только мой ещё комменты собирает.

Some1 13.02.17 в 12:27 · # ·
0

Отказался от этой затеи – при таймлимите на хостинге 15 минут эта затея лишена смысла. Да и нужды в этом большой не было, честно говоря.

DOOMer 13.02.17 в 12:31 · # ·
0

Если вдруг понадобится это дело на луа (кросс-платформенный же),
стучите.

Some1 13.02.17 в 12:34 · # ·
0

Окей! :)

DOOMer 13.02.17 в 12:35 · # ·
0

Долго ли планируется хостить утилиты? Года два-три ещё пробудут?

Some1 11.02.17 в 15:25 · # ·
0

Не понял сути вопроса. Я хостю свой сайт, а утилиты – малая часть того, что там живёт. Живёт, хлеба (какого-то дополнительного) не просит. Ещё бы денег кто на хостинг закинул – было б совсем хорошо :D
Скорее на Ноте что-то изменится и их придётся переписывать, а мне будет лень. Но сколько лет я ни пытаюсь найти себе более... выгодное хобби, всё как-то никак :)

DOOMer 11.02.17 в 16:40 · # ·
0

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

Some1 11.02.17 в 17:12 · # ·
0

Хех, ну да, описание там ещё со времён старой Ноты. Надо и правда поправить.

DOOMer 11.02.17 в 16:33 · # ·
0

Драсте.
Ну во-первых, конечно спасибо огроменное за утилиту для импорта переводов.
А вопрос такой. Вот я перевожу сабы от одной серии локально, Чего-то – но не все – перевел и залил в главу. Потом опять же локально еще попереводил ту же серию (ну тоись в русском srt добавились новые блоки) и опять заливаю в ту же главу. А в результате получаю по два экземпляра ранее переведенных титров, ну то бишь translation unit'ов. А хотелось бы, чтобы новые просто затирали старые.
Это как-то можно сделать?

Spitfiremk9 24.02.17 в 12:48 · # ·
0

скрытые комментарии (2 шт.)

Типа инкрементарно?
Неплохая идея, на недельке подумаю.

Пока я ебу траха совокупляюсь с C# на предмет переноса утилит в десктоп. Ох уж это ООП...

DOOMer 24.02.17 в 19:40 · # ·
0

Да на первом заходе можно даже без инкрементности. Тупо галочка «Заменить все старые версии на новые (даже если они совпадают)». Хотя тут может быть засада, если в старой версии юнита перевод есть, а в новой он пустой. Хз, надо маленько подумать.

А вот если делать версионность, то наверно нужен такой типа 4-позиционный радио-батон:
1. «Сохранить все старые версии»;

2. «Сохранить только те старые версии, которые отличаются от новых»;

3. «Сохранить только те старые версии, которые отличаются от новых и у которых есть комментарий(и)»
Ну типа чтоб потом можно было бодаться с редактором, если ему вдруг новый вариант не нра, и он грит, что старый был более лучше.

4. Ну и наконец «Заменить все старые версии на новые»;

Spitfiremk9 25.02.17 в 06:00 · # ·
0

Добавлена возможность «подтягивания» имени файла в поле «название главы» в утилите создания главы в переводе.

Внимание!
При заливке нескольких глав, после загрузки одной главы и нажатия на кнопку «Назад», некоторые браузеры запоминают имя уже загруженного файла и тогда в поле названия уже будет прописано имя уже загруженного файла, тогда, после выбора следующего файла, нужно просто встать в поле названия главы и стереть старое название – новое будет подставлено автоматически.

DOOMer 28.02.17 в 13:54 · # ·
0

Ответ на http://notabenoid.org/blog/33891#cmt_2582930 , вынес отдельным комментом, что было заметнее.

В общем, что-то я там сделал, хотя и без фанатизма.

Добавлен чекбокс «не импортировать уже имеющиеся переводы» в утилите импорта перевода. Доступна во всех режимах, кроме «Выборочного» (потому что при таком режиме даже опроса сайта не происходит – нечего анализировать).
Можно комбинировать с «удалять лишние пробелы внутри строк» (потому что пробелы – тоже символы и учитываются при анализе).
Рабоспособность на текстах проверил, на сабах – нет, но должно работать.

Помимо этого ощутимо изменил структуру всех скриптов (вынес функции из одного файла в разные – кто бы мог подумать, что проект настолько разрастётся :))

Добавил преобразование парных символов перевода строки «\r\n» в «\n» во всех файлах, загружаемых пользователем.

Об обнаруженных ошибках сообщайте сюда или в ВК.

DOOMer 05.03.17 в 19:03 · # ·
0

Новая возможность: поиск в проекте перевода фрагментов с комментариями.

Подробности: https://vk.com/vayurik?w=wall198054534_7532

DOOMer 03.04.17 в 21:29 · # ·
0

И спасибо всем, кто меня поддерживает!
Печеньки (и сиськи) наше всё :)

Спасибо, парни!

https://vk.com/vayurik?w=wall198054534_7462

DOOMer 03.04.17 в 21:32 · # ·
0

Минорное обновление скрипта проверки главы перевода (http://vayurik.ru/tools/notabenoid/check_translate.php), а попутно и скрипт проверки просто текстовых файлов (http://vayurik.ru/tools/text/check_text_file.php): добавлен поиск дубликатов слов.

DOOMer 09.05.17 в 13:32 · # ·
0

Новая фича – удаление непереведённых фрагментов из главы перевода.
https://vk.com/vayurik?w=wall198054534_10239

DOOMer 02.03.18 в 20:47 · # ·
3

А на сколько реально сделать поиск по дате? Чтобы увидеть строки, созданные за указанный период времени. Актуально например при проверке перевода большой главы, когда народ переводит не по порядку, а рандомно.

Dimon485 13.12.18 в 10:39 · # ·
0

скрытые комментарии (2 шт.)

Сделать-то можно что угодно, вопрос в том, как это должно работать и можно ли будет потом этим пользоваться.
Я лично с трудом представляю себе подобный функционал, если он не реализован на уровне самого движка Ноты, чтобы им реально можно было потом пользоваться.
Так-то в файл я могу надёргать эти фрагменты – толку-то от этого? Нужно же иметь возможность сразу что-то делать с этими фрагментами6 исправлять перевод, например, а то и просто удалять. И вот в таком контексте генерация файла, содержащего такие вот переводы, лишена практического смысла, мне кажется.

DOOMer 13.12.18 в 12:44 · # ·
0

согласен. проехали =)

Dimon485 14.12.18 в 07:12 · # ·
0

Я смотрю, наметился застой в разработке новых утилит, катастрофически не хватает свежих идей, верно? =)

Dimon485 20.04.20 в 14:15 · # ·
−1

скрытые комментарии (27 шт.)

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

DOOMer 13.05.20 в 11:07 · # ·
1

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

gojungle 13.05.20 в 12:13 · # ·
0

Разве что коронавирус меня заберёт :)
Но вы тогда просто заносите денежек на хостинг (там вроде внизу указан номер лицевого счёта, да и на основном сайте моём – vayurik.ru – есть), и оно будет жить даже если меня не станет :)

DOOMer 18.05.20 в 15:34 · # ·
0

переносы? а зачем это нужно? есть же ворд – он отлично расставляет переносы! =))

Dimon485 13.05.20 в 12:23 · # ·
0

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

Dimon485 13.05.20 в 12:29 · # ·
0

Есть такая штука – визуальные новеллы. Кои я и переводил/редачил/ломал/собирал/фотошопил ну и т.д. все эти годы. И вот там бывает ситуация, когда движок (например, Kirikiri) ну никак не заставить переносить текст, потому что японцам переносы эти нафиг не нужны с их кракозябрами. Можно подшаманить скринты и научить-таки движок переносить фрагменты хотя бы по пробелу (https://anivisual.net/blog/2017-10-01-313), но это далеко не всегда возможно, т.к. всё чаще встречаются закодированные соответствующие служебные файлы (с сигнатурой TJS2100), и вот тогда приходится извращаться с хард-переносом.
А в Ворде никто из моих знакомых переводчиков ВНок не работает, зато NP++ в почёте. Но в нём нет соответствующей возможности (либо я о ней не знаю). Вот я и написал свои грабли :)

DOOMer 18.05.20 в 15:25 · # ·
0

НП++ мне не зашол чот, я работаю в акелпаде (с кучей плагинов), и тут можно автозаменой расставить переносы, заменив ими что угодно, можно заменить переносы операторами \n в любом количестве и туда и обратно. Но с японским творчеством я никогда не сталкивался, поэтому по делу сказать особо нечего...

Dimon485 19.05.20 в 06:58 · # ·
0

Теперь по делу =)
Недавно тут взялись за ёфикацию текста и в процессе возникло несколько вопросов-предложений к тебе.
Например, если я ищу «идет» (чтобы заметить на идёт), то твой поиск мне выдает кроме самих «идет» еще и «видеть», «увидеть» и т.п. Таким образом, автозаменой воспользоваться нельзя, все будет запорото...
Пробелы вокруг слова съедаются, это тоже не вариант. Есть возможность искать слово целиком? Если нет, то прошу тебя реализовать это!

Dimon485 13.05.20 в 14:29 · # ·
0

Как большой сторонник буквы Ё я рекомендовал бы погуглить специальные утилиты для этого. Ну, это если лень делать это вручную при вычитке/редактуре. Я когда-то пользовался надстройкой для M$ Word, но давно дело было и я сейчас не скажу, как оно называлось. Работало практически идеально! Слова, где ТОЧНО должна быть Ё, обрабатывались автоматически, а везде, где возможны были и Е, и Ё, оно спрашивало, как же в конкретном месте верно. Так что Ё-фикация даже весьма большого файла занимала считанные минуты.
А использовать для этих целей поиск... Ну, такое себе, прямо скажем.

DOOMer 18.05.20 в 15:31 · # ·
0

Да, утилита есть, так и называется: Ёфикатор, она работает, но не в автоматическом режиме, как ты верно отметил, и чтобы пройти ею весь мой текст, а это примерно 5мб, требуется почти целый день монотонного щелкания мышкой с перерывами на потребности. А что в твоем понимании большой файл? 150кб? =)

Dimon485 19.05.20 в 07:24 · # ·
0

Если бы одного раза было достаточно, то этот вопрос бы не возник. Однако, за время перевода я скачал текст уже три раза, ввиду постоянных правок и допереводов, и это еще не конец!
Теперь, когда весь имеющийся текст готов (до выхода очередного дополнения), я решил проставить ё на ноте, чтобы упростить себе задачу в будущем. Но столкнулся с невозможностью отлова нужных мне слов твоими утилитами. =( Я не хочу сказать, что утилиты говно, они очень полезны и много раз выручали, экономя время! Но ты отлично знаешь, что в любом редакторе есть возможность поиска слова целиком, и в данном случае эта функция тоже необходима для полноценного поиска и в частности для ёфикации ;) СДЕЛАЙ ПОЖАЛУЙСТА!!!
Я тебе рассказал про «идет», а знаешь, что получается, когда пытаешься найти «её»? =))

Dimon485 19.05.20 в 07:48 · # ·
0

А вот как раз «её» довольно легко замутить через утилиту, насколько я знаю. Прогнать заменой «Пробел+ее+пробел» => «пробел+её+пробел». Если я сейчас с ходу ничего не упускаю и вы уверены, что в тексте нет странных вывертов, начинающихся с «ее», то можно даже без пробела в конце, просто « ее», тогда и перед запятой/точкой прекрасно сработает.

Я таким образом не раз прогоняла замену дефисов на тире в нужных местах.

Lada_Dragon 23.05.20 в 16:11 · # ·
0

Какую утилиту? Юрина утилита сжирает пробелы, поэтому кроме ее, она найдет все прилагательные и наречия, закнчивающиеся на ее : (

Dimon485 23.05.20 в 17:12 · # ·
0

это легко можно сделать в ворде

gojungle 23.05.20 в 17:50 · # ·
0

После скачивания э о легко сделать, но мне нужно это сделать на ноте. Я скачиваю проект не один раз, и не хочу проставлять ё после каждого скачивания. Хочу скачивать уже максимально готовый гтекст.

Dimon485 23.05.20 в 18:53 · # ·
0

а кто мешает подставить ё в готовый текст?

gojungle 23.05.20 в 19:10 · # ·
0

Попробуй проставить ё в 5мб текста — поверь, тебе больше не захочется. Вот и мне не хочется, поэтому проставляю на ноте, ДО скачивания.

Dimon485 23.05.20 в 19:47 · # ·
0

Регулярно этим занимаюсь, кстати. Вы же текст читаете целиком? Вот заодно и поправить можно. А тире и кавычки – автозаменой.

gojungle 23.05.20 в 20:41 · # ·
0

Я его читаю на ноте, после скачивания не читаю.
Еще раз подчеркну: я скачиваю один и тот же текст. У меня выбор между: проставлять ё каждый раз после скачивания и проставить ё на ноте и забыть про это действие навсегда. Я предпочту второй вариант, а что бы выбрали вы?

Dimon485 24.05.20 в 13:38 · # ·
0

А кто мешает проставлять Ё во время чтения? Если прям так уж необходимо. Все равно ведь правите.

gojungle 24.05.20 в 17:40 · # ·
0

я так и делаю, разумеется, но глаз замыливается, а от поиска ничего не скроется! =)

Dimon485 24.05.20 в 19:11 · # ·
0

Почему-то у меня с пробелами всё было прекрасно, vayurik ещё ни разу ничего не сожрал

Lada_Dragon 23.05.20 в 20:58 · # ·
0

пруф в студию! прошу!
только что искал « еще » и получил в результатах «увещевание».

Dimon485 24.05.20 в 13:48 · # ·
0

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

m_e_v 24.05.20 в 20:26 · # ·
0

Такое чувство, что мы из параллельных вселенных и у меня какая-то другая утилита. Специально сейчас создала липовый отрывок и протестила замену « ее». Мне заменило только то, что было нужно, пробелы никуда не убежали

Lada_Dragon 24.05.20 в 22:37 · # ·
1

Суть в том, что моя тулза использует штатный поиск самой Ноты. А как бы она могла ещё работать? Т.е. вот прям по действиям? Я когда-то думал над этим, но так и не придумал.

Кроме того, всегда надо помнить, что на написание любого нестандартного средства уходит огромная куча времени и тут надо сильно думать, что быстрее: писать неделю-две утилиту или потратить час-два-пять на то же действие вручную.

DOOMer 05.06.20 в 15:24 · # ·
0

Вдогонку.

Вообще, как я редачил (Ё-фикация – частный случай).
1. Я скачивал оригиналы + переводы своей тулзой.
2. Заливал полученные файлы на телефон (Nokia e71) и на нём уже вычитывал + редачил (DEdit в помощь).
Правки и комменты писал после фрагмента, в начале строки ставил символ процента «%» – его быстро и удобно поставить с клавы на теле, плюс он довольно редко встречается в тексте – легко найти поиском.
3. После вычитки/редактуры на теле, скидывал получившееся на комп, открывал в NP++ с включённым DSpellCheck (словарь «Russian (with Io)») и подсветкой синтаксиса, которая подсвечивала мне все мои комменты (пишется за 1 минуту), и ещё раз просматривал (хотя сколько ни вычитывай... эх...) Вносил правки в переводы.
4. Заливал уже исправленные фрагменты обратно на Ноту (http://vayurik.ru/tools/notabenoid/import_translate_file.php).

Хотя такая методика не всегда приемлема, особенно при работе в большой команде.

DOOMer 05.06.20 в 15:35 · # ·
0

Добрый день!
У меня вопрос – я сделала резервную копию проекта. А где её найти? Помогите пожалуйста.

anel0001 14.05.20 в 05:37 · # ·
0

скрытые комментарии (1 шт.)

Добрый день.
Если всё прошло успешно, скрипт предложит сохранить файл. Если этого не произошло, значит скрипт по какой-то причине не отработал до конца. Эта операция довольно длительная и провайдер может прерывать выполнение скрипта по таймауту, считая, что скрипт завис. Там об этом висит предупреждение сверху, хотя с того момента провайдер (каким-то волшебным образом) пошёл мне на встречу и теперь скрипты могут выполняться до 10 минут примерно. Если они опять мне там не сделали «как у всех».

DOOMer 18.05.20 в 15:28 · # ·
0