Користувач:Movses/Суміш розкладок
Зовнішній вигляд
Зараз опрацьовується дамп від 2008-12-19.
- Розбиваємо великий файл дампу вікіпедії на менші - я розбивав на файли по 50Мб за допомогою Total Commander
- У редакторі Ultra Edit робимо пошук у розбитих файлах дампу такого регулярного виразу
([a-zA-Z \|\-][А-яіІїЇєЄґҐ][a-zA-Z]|[a-zA-Z][А-яіІїЇєЄґҐ][a-zA-Z \|\-\.\,]|[А-яіІїЇєЄґҐ \|\-][a-zA-Z][А-яіІїЇєЄґҐ]|[А-яіІїЇєЄґҐ][a-zA-Z][А-яіІїЇєЄґҐ \|\-\.\,])
- Отримуємо файл з рядками, які містить слова з сумішшю розкладок
- Видаляємо інтервікі з файлів за допомогою програми Funduc Search and Replace
- У цьому файлі робимо заміни
( |\/|;|,|\.|«|»|\)|\(|\{|\}|\=|—||\>)
на
\n
- Отримали файл, у кожному рядку якого міститься одне слово з сумішшю розкладок.
- Даємо цьому файлу розширення .csv і відкриваємо у Excel
- Запускаємо у Excel макрос, який в залежності від кількості невірних літер сформує вірне слово.
Модуль KL_Confusing, процедура main
- При цьому біля кожного слова буде написано тип переробки - або латинські символи будуть перероблені на кириличні, або навпаки, або буде написано not_defined
- Запускаємо у Excel інший макрос, який запише пари "невірне_слово/вірне_слово" до файлу налаштувань AWB
Модуль AWB_Replaces.bas, процедура From_Excel_Selection_To_AWB_Settings
- У програмі AWB запускаємо модуль для роботи з дампом бази - List > Launch database scanner
- Підключаємо файл дампу - File > Open xml-dump
- Зі списку помилок формуємо запити на кшталт такого: (repaіr|Rollіng|rеgulare|RіchText|Rіckly)
- Цей запит вказуємо у полі Article does contain, відмічаємо чекбокс Are regexes, робимо пошук Start, потім формуємо список кнопкою Make, зберігаємо кнопкою Save
- Отримали списки статей з яких формуємо один список за допомогою List > Launch ListSplitter -
файл List_of_articles_for_replacing.txt
- Завантажуємо файл налаштувань Default.xml (який містить AWBReplaces.txt)
- File > Open settings > Default.xml
- Завантажуємо файл списка статей, що потребують опрацювання
- Make from > List file > List_of_articles_for_replacing.txt
P.S. Якщо хто-небудь вкаже мені як це зробити простіше, буду дуже вдячний :о) ОС не має значення ...