Что понадобится:
- Notepad++
- Программа подсчета слов в каждой строке (внутри txt-файла). Приложил к сообщению.
1) Ищем сколько всего строк.
В Notepad++ нажимаем Ctrl+F, режим поиска - обычный. Вводим: <phrase title= и нажимаем "Подсчитать"
2) Следующим шагом будет очистка многострочных элементов перевода, назовем это так.
Каждый элемент перевода начинается на тег <phrase и заканчивается на </phrase>. Бывает так, что он в несколько строк (обычно между строками находится тег <br>).
Все такие элементы перевода нужно вырезать от тега <phrase до закрывающего тега </phrase> включительно и вставить в другой файл. С этими элементами перевода нужно разобраться позже вручную (обычно их не много).
3) Если какие-то строки переведены на русский, то ищем и их тоже.
В Notepad++ нажимаем Ctrl+F, выбираем вкладку "Пометки"
Ставим галочку "Помечать Закладкой", режим поиска - регулярное выражение, ставим галочку "и новые строки". Вводим: \[[А-ЯЁ][а-яё] и нажимаем "Пометить все"
Потом удаляем их чтобы не мешались. В верхнем меню нажимаем "Поиск" > "Закладки" > "Удалить все строки с закладкой".
После этого ищем оставшиеся строки с русскими символами. Переходим обратно в поиск, режим поиска - регулярное выражение. Вводим: [А-ЯЁ][а-яё]
Действуем так: находим строку, удаляем ее, переходим на следующую строку и ищем дальше.
4) Очищаем строки с переводом от "мусора" удалив всё лишнее кроме слов.
Сначала удаляем все переменные (они не переводятся). Переменные обрамляются кавычками {}.
В Notepad++ нажимаем Ctrl+H, режим поиска - регулярное выражение, ставим галочку "и новые строки".
В поле "Найти" вводим \{.*?\} поле "Заменить на" очищаем, чтобы ничего не было, нажимаем "Заменить всё".
Далее по аналогии вводим: <phrase.*CDATA\[ и \]\]><\/phrase>
Так же удаляем всевозможные символы каждый по-отдельности: . , : - ' " ( ) \ /
Потом ищем оставшийся мусор после других тегов по символу < и удаляем всё содержимое этих тегов, кроме слова/слов между ними.
В самом конце удаляем двойные и тройные пробелы.
Всё там же, во вкладке "Замена" в поле "Найти" вводим два пробела, а в поле заменить вводим один пробел, нажимаем "Заменить всё". То же самое делаем с тремя пробелами.
Визуально осмотрите все строки и вручную поудаляйте оставшийся "мусор", если он остался.
5) Пришло время подсчета количества слов на каждой строке. Сохраняйте документ.
Всё, что я смог найти это простенькую консольную программку.
Для нее вам потребуется взять сохраненный ранее документ со строками в формате .txt, разделить его на другие отдельные документы, в каждом документе должно быть ровно 299 строк (или меньше).
6) Итак, у вас несколько документов (в формате .txt), в каждом из них 299 строк(или меньше). Переименовываем первый файл в text.txt, кладем программу рядом с этим файлом и запускаем ее.
Должно открыться окно консоли, в которой будет подсчитано количество слов в каждой строке.
Нажимаем Правой Кнопкой Мыши (далее ПКМ) по окну консоли и выбираем "Выделить всё", после того как весь текст выделился, опять нажимаем по нему ПКМ. Текст скопирован.
Далее создаем новый файл в Notepad++, и вставляем в него скопированное содержимое (Ctrl+V).
Теперь берем следующий документ и переименовываем его в text.txt, проделываем всё то же самое, что описано выше и вставляем его строкой ниже в тот же файл, что вы создали в пункте 6.
7) И, наконец, завершающие шаги. Считаем количество строк в соответствии с ценовой категорией.
В Notepad++ нажимаем Ctrl+H, режим поиска - регулярное выражение. Вводим в поле поиска нижеизложенные "фильтры" и нажимаем "Подсчитать":
1 slov|2 slov - Слова и словосочетания (1-2 слова), количество записываем,
3 slov|4 slov|5 slov - Короткие фразы (3-5 слов), количество записываем,
6 slov|7 slov|8 slov|9 slov|10 slov|11 slov|12 slov|13 slov|14 slov|15 slov - Средние фразы (6-15 слов), количество записываем.
8) Теперь будем удалять всё лишнее, чтобы получить количество строк последней ценовой категории.
Для этого переходим во вкладку "Пометки". Ставим галочку "Помечать Закладкой", режим поиска - регулярное выражение. Вводим:
1 slov|2 slov|3 slov|4 slov|5 slov|6 slov|7 slov|8 slov|9 slov|10 slov|11 slov|12 slov|13 slov|14 slov|15 slov
В верхнем меню нажимаем "Поиск" > "Закладки" > "Удалить все строки с закладкой".
Оставшееся количество строк и есть то, что нам надо. Но это еще не все строки. Об этом ниже.
9) Вспоминаем 2-й пункт. Тут 3 варианта.
1-й: подсчитать каждый многострочный элемент перевода вручную.
2-й: попытаться применить всё что было описано выше предварительно выровняв каждый многострочный элемент перевода в одну строку (вместо переноса строки подставить пробелы).
3-й: узнать количество всех строк, следуя 1-ому пункту и посчитать их все по последней ценовой категории (так как обычно они получаются больше 15 слов).
10) Берем все полученное количество для каждой ценовой категории и перемножаем в соответствии с ценой, указанной выше.
Складываем все полученные суммы + наценку за сложность (наценку определяем на основе общего количества непереведенных фраз) и получаем точную стоимость перевода.