Как сделать TM из двух файлов с "мусором"? Thread poster: Igor Savenkov
|
Igor Savenkov Russian Federation Local time: 16:57 Member (2007) English to Russian
Имеется два файла - один с исходным текстом, другой - с переводом. Проблема в том, что тексты "замусорены". Например, в исходном файле есть строчка: chat_destination_all = "All" Ей соответствует перевод: chat_destination_all = "Все" Соответственно, здесь chat_destination_all = - мусор, к�... See more Имеется два файла - один с исходным текстом, другой - с переводом. Проблема в том, что тексты "замусорены". Например, в исходном файле есть строчка: chat_destination_all = "All" Ей соответствует перевод: chat_destination_all = "Все" Соответственно, здесь chat_destination_all = - мусор, которого не должно быть в ТМ. Причем весь "мусор" имеет аналогичную структуру "чего-то_там =". Я понимаю, что алгоритм для удаления простой: "С начала каждой строчки удалить весь текст до знака = и один пробел после него". Только как и где его реализовать, чтобы сделать это удаление автоматически? ▲ Collapse | | |
Заменить все ненужные комбинации на ничего. Если комбинации очень разнообразны, то заменить "AnyChraracterAnyChraracterAnyChraracterAnyChraracter = " на ничего. Количество AnyChraracter после каждой замены уменьшать. Если в поле "Найти" вводить текст вручную, то, например: ^?^?^?^?^?^?^? = или... See more Заменить все ненужные комбинации на ничего. Если комбинации очень разнообразны, то заменить "AnyChraracterAnyChraracterAnyChraracterAnyChraracter = " на ничего. Количество AnyChraracter после каждой замены уменьшать. Если в поле "Найти" вводить текст вручную, то, например: ^?^?^?^?^?^?^? = или ???????? = (при включенном Use Wildcards, Подстановочные знаки).
[Edited at 2015-05-31 11:40 GMT]
[Edited at 2015-05-31 11:41 GMT]
[Edited at 2015-05-31 12:11 GMT] ▲ Collapse | | |
mk_lab Ukraine Local time: 16:57 Member (2004) English to Russian + ...
Команда "Заменить" В окне "Найти и заменить" включаем "Подстановочные знаки" и вводим в поле "Найти:" такое "^l*= ", а в поле "Заменить на:" вводим "^l", где ^l - это знак разрыва строки. "Enter" Если все строки имеют такую структуру, то получится все, кроме первой строки. Ч... See more Команда "Заменить" В окне "Найти и заменить" включаем "Подстановочные знаки" и вводим в поле "Найти:" такое "^l*= ", а в поле "Заменить на:" вводим "^l", где ^l - это знак разрыва строки. "Enter" Если все строки имеют такую структуру, то получится все, кроме первой строки. Чтобы получилась и первая строка, нужно добавить перед ней еще одну произвольную строку. Если в исходном тексте стоит знак переноса строки, а не разрыва строки (как тут это получилось, возможно случайно), то используем его
[Edited at 2015-05-31 11:26 GMT] ▲ Collapse | | |
Igor Savenkov Russian Federation Local time: 16:57 Member (2007) English to Russian TOPIC STARTER Спасибо, Михаил! | May 31, 2015 |
Признаюсь, что не знал, что в Word можно использовать подстановочные знаки (стыд и позор). Сейчас попробовал по-вашему - не получилось: видимо, у меня не "разрыв строки", а "перенос строки", а символа "перенос строки" я не вижу среди символов "Специальный". Будем думать дальше. | |
|
|
Проблема в том, что | May 31, 2015 |
"^l" и "^p" с подстановочными знаками не работают. Во всяком случае, мне такой фокус не удавался в моих вордах.
[Edited at 2015-05-31 15:37 GMT] | | |
Igor Savenkov Russian Federation Local time: 16:57 Member (2007) English to Russian TOPIC STARTER |
Количество ^? нужно сначала задать разумно максимально | May 31, 2015 |
а потом уменьшать. Я сначала неправильно написал. Исправил. По идее, не может их быть больше, скажем, двадцати. Если и останутся какие-то супердлинные, их можно в конце удалить вручную. | | |
"^l" в принципе работает | May 31, 2015 |
но не "отбивает" нужный конец строки. | |
|
|
Igor Savenkov Russian Federation Local time: 16:57 Member (2007) English to Russian TOPIC STARTER Да, должно сработать | May 31, 2015 |
Alexander Matsyuk wrote: Количество ^? нужно сначала задать разумно максимально, а потом уменьшать. но хотелось бы решение "поизящнее", тем более что количество ^? у меня может достигать 30. | | |
Igor Savenkov wrote: хотелось бы решение "поизящнее", тем более что количество ^? у меня может достигать 30. Хотя я обычно удовлетворяюсь малоизящным. Поизящнее так: Если вы уверены, что в тексте нет символа $, сначала выполняем замену ^p на $. (Вместо $ можно взять что-то другое. Например ***) Затем производим замену в режиме подстановочных знаков: "$* = " на "$" Если все ок, выполняем обратную замену $ на ^p (уже снова в обычном режиме замены). | | |
Igor Savenkov Russian Federation Local time: 16:57 Member (2007) English to Russian TOPIC STARTER Спасибо, Александр! | May 31, 2015 |
Alexander Matsyuk wrote: Если вы уверены, что в тексте нет символа $, сначала выполняем замену ^p на $. (Вместо $ можно взять что-то другое. Например ***) Затем производим замену в режиме подстановочных знаков: "$* = " на "$" Если все ок, выполняем обратную замену $ на ^p (уже снова в обычном режиме замены). Работает | | |
mk_lab Ukraine Local time: 16:57 Member (2004) English to Russian + ... А. ну да, действительно, | May 31, 2015 |
^p при включенных подстановочных знаках не работает. Alexander Matsyuk wrote: Если вы уверены, что в тексте нет символа $, сначала выполняем замену ^p на $. (Вместо $ можно взять что-то другое. Например ***) Затем производим замену в режиме подстановочных знаков: "$* = " на "$" Если все ок, выполняем обратную замену $ на ^p (уже снова в обычном режиме замены). Можно было также не заменять ^p на $, а просто вставить $ после ^p (при отключенных подстановочных знаках), а затем заменить "$* = " на "" (пусто) при включенных подстановочных знаках. На одну операцию меньше | |
|
|
Да, так хитрее | May 31, 2015 |
mk_lab wrote: Можно было также не заменять ^p на $, а просто вставить $ после ^p (при отключенных подстановочных знаках), а затем заменить "$* = " на "" (пусто) при включенных подстановочных знаках. На одну операцию меньше но внутренне еще беспокойнее | | |
boostrer United States Local time: 09:57 Member (2007) English to Russian + ... Поздно увидел тему, | Sep 27, 2015 |
но для следующих поколений: нужно было сделать простой макрос: поиск " = " > стрелка вправо > выделение от места курсора до начала строки > удалить > вернуться в начало макроса. Дальше можно его либо просто запустить и со временем, когда все уже будет удалено, выключить, или добавить в конец макроса выход по достижении конца текста. | | |
Igor Savenkov Russian Federation Local time: 16:57 Member (2007) English to Russian TOPIC STARTER
Как раз сейчас мне опять потребовалось провести подобную чистку - и тут пришло последнее сообщение! Спасибо, boostrer, помогло - и так проще всего (заодно и освоил макросы в Word ). | | |