Участник:CodeMonkBot/Автозамены
Перейти к навигации
Перейти к поиску
# General replacements for Russian language v1.21
'general-ru': {
'regex': True,
'exceptions': [
u'\{\{NO_BOT_TEXT_PROCESSING}}',
u'<math>',
u'Ссылки-мнемоники для символов', #Мнемоники в HTML
u'== Подстрочные и надстрочные индексы ==', #Википедия:Специальные символы
u'\[\[Категория:Типографические знаки\]\]',
u'\[\[Category:Типографические знаки\]\]',
u'\[\[Категория:Знаки препинания\]\]',
u'\[\[Category:Знаки препинания\]\]',
],
'msg': {
'ru': u'[[Участник:CodeMonkBot/Автозамены|Автозамены v1.21]]',
},
'replacements': [
#Замена устаревших и иностранных названий пространств имён
(ur'(?i)\[\[Wikipedia:(.*?)\]\]', ur'[[Википедия:\1]]'),
(ur'(?i)\[\[Wikipedia talk:(.*?)\]\]', ur'[[Обсуждение Википедии:\1]]'),
(ur'(?i)\[\[Википедия обсуждение:(.*?)\]\]', ur'[[Обсуждение Википедии:\1]]'),
(ur'(?i)\[\[Help:(.*?)\]\]', ur'[[Справка:\1]]'),
(ur'(?i)\[\[Help talk:(.*?)\]\]', ur'[[Обсуждение справки:\1]]'),
(ur'(?i)\[\[Справка обсуждение:(.*?)\]\]', ur'[[Обсуждение справки:\1]]'),
(ur'(?i)\[\[User:(.*?)\]\]', ur'[[Участник:\1]]'),
(ur'(?i)\[\[User talk:(.*?)\]\]', ur'[[Обсуждение участника:\1]]'),
(ur'(?i)\[\[Участник обсуждение:(.*?)\]\]', ur'[[Обсуждение участника:\1]]'),
(ur'(?i)\[\[Category:(.*?)\]\]', ur'[[Категория:\1]]'),
(ur'(?i)\[\[:Category:(.*?)\]\]', ur'[[:Категория:\1]]'),
(ur'(?i)\[\[Category talk:(.*?)\]\]', ur'[[Обсуждение категории:\1]]'),
(ur'(?i)\[\[Категория обсуждение:(.*?)\]\]', ur'[[Обсуждение категории:\1]]'),
(ur'(?i)\[\[Image:(.*?)\]\]', ur'[[Изображение:\1]]'),
(ur'(?i)\[\[Image talk:(.*?)\]\]', ur'[[Обсуждение изображения:\1]]'),
(ur'(?i)\[\[Изображение обсуждение:(.*?)\]\]', ur'[[Обсуждение изображения:\1]]'),
(ur'(?i)\[\[Template:(.*?)\]\]', ur'[[Шаблон:\1]]'),
(ur'(?i)\[\[Template talk:(.*?)\]\]', ur'[[Обсуждение шаблона:\1]]'),
(ur'(?i)\[\[Шаблон обсуждение:(.*?)\]\]', ur'[[Обсуждение шаблона:\1]]'),
(ur'(?i)\[\[Talk:(.*?)\]\]', ur'[[Обсуждение:\1]]'),
(ur'(?i)\[\[Media:(.*?)\]\]', ur'[[Медиа:\1]]'),
(ur'(?i)\[\[Специальные:(.*?)\]\]', ur'[[Служебная:\1]]'),
#Вставить неразрывный пробел в сокращения вроде "т. п."
(ur'т\. ?н\.', ur'т. н.'), #пробел U+00A0
(ur'и т\. ?д\.', ur'и т. д.'), #пробелы U+00A0
(ur'и т\. ?п\.', ur'и т. п.'), #пробелы U+00A0
(ur'н\.э\.', ur'н. э.'), #обычный пробел
(ur'д\. ?н\. э\.', ur'до н. э.'), #обычные пробелы
(ur'т\. ?е\.', ur'то есть'), #полная расшифровка
(ur'т\. ?к\.', ur'так как'), #полная расшифровка
(ur'т\. ?ч\.', ur'том числе'), #полная расшифровка
(ur'Т\. ?е\.', ur'То есть'), #полная расшифровка
(ur'Т\. ?к\.', ur'Так как'), #полная расшифровка
#Дополнить сокращения точками
(ur'(?u)(\d) (тыс|млн|млрд|трлн)(\W)', ur'\1 \2.\3'), #первый пробел U+00A0
#Заменить дефис, двойной дефис и короткое тире на неразрывный пробел, правильное тире,
#и пробел, если с обеих сторон стоят не цифры, и если это не внутри ссылки или шаблона
(ur'(?i)([^0-9\s]) (-|--|—|—|–) ([^0-9\s])'+
ur'(?!(.{,20}(\.jpg|\.jpeg|\.png|\.gif|\.svg|\.ogg))|[^\[\{]*[\]\}])',
ur'\1 — \3'), #первый пробел U+00A0
#Привести специальные символы в корректный вид
(ur'(\.\.\.|…|…)', ur'…'),
(ur'(\+-|\+-|±)', ur'±'),
(ur'€', ur'€'),
(ur'¥', ur'¥'),
(ur'£', ur'£'),
(ur'§', ur'§'),
(ur'(\(r\)|®)', ur'®'),
(ur'(\(tm\)|™)', ur'™'),
(ur'(\(c\)|©)', ur'©'),
(ur'°', ur'°'),
(ur'([а-яА-ЯёЁ])\'([а-яА-ЯёЁ])', ur'\1’\2'), #апостроф
(ur'́', ur'́'), #принятое сейчас ударение
#Привести градусы в правильный вид
(ur'(?um)([ =≈≠≤≥<>("«\'|]|^)([+±−\-]?\d+?(?:[.,]\d+?)?)'+
ur'( [°^*]?[CС])(?=[ "»\').,;!?|]|$)',
ur'\1\2 °C'), #пробел U+00A0
(ur'(?um)([ =≈≠≤≥<>("«\'|]|^)([+±−\-]?\d+?(?:[.,]\d+?)?)'+
ur'( [°^*]?F)(?=[ "»\').,;|!?]|$)',
ur'\1\2 °F'), #пробел U+00A0
#Вставить неразрывные пробелы перед специальными символами
(ur'([^%\w]\d+?(?:[.,]\d+?)?) ?([%‰])(?!-[А-Яа-яЁё])',
ur'\1 \2'), #пробел U+00A0
(ur'(\d) ([%‰])(?=-[А-Яа-яЁё])', ur'\1\2'),
#Вставить неразрывные пробелы после специальных символов
(ur'(№|§) ?(\d)(?![^\[\{]*[\]\}])', ur'\1 \2'), #пробел U+00A0
#Привести разрывы строк в соответствие с требованиями XHTML
(ur'(?i)<br>', ur'<br />'),
(ur'(?i)<br ([^>/]+?)>', ur'<br \1 />'),
(ur'(?i)<hr ([^>/]+?)>', ur'<hr \1 />'),
#Обрамить названия разделов статьи пробелами
(ur'(\r\n)(==+)([ \t\f\v]*)(.*?)([ \t\f\v]*)(==+)(\r\n)',
ur'\1\2 \4 \2\7'),
#Вставить пробелы после символов списков (*, # и ещё :) в начале строки
(ur'\r\n([*#:]+)([ \t\f\v]*)([^ \t\f\v\*#:])', ur'\r\n\1 \3'),
#Раскрыть запись типа 1952-67 в [[1952]]—[[1967]] (отключено)
#(ur' \[?\[?([12]?[0-9])([0-9]{2})\]?\]?(-|–|—)([0-9]{2}) ',
# ur' [[\1\2]]—[[\1\4]] '),
#Раскрыть запись типа 1952-7 в [[1952]]—[[1957]] (отключено)
#(ur' \[?\[?([12]?[0-9]{2})([0-9])\]?\]?(-|–|—)([0-9]) ',
# ur' [[\1\2]]—[[\1\4]] '),
#Вставить неразрывный пробел между годом и сокращениями "г." и "гг."
(ur'(\[?\[?[12]?[0-9]{3}\]?\]?) ?(г\.|гг\.)(?![^\[\{]*[\]\}])',
ur'\1 \2'), #пробел U+00A0
#Заменить дефис, дв. дефис, минус и короткое тире на правильное тире в диапазонах годов
(ur'(?iu)([ \(\s])(\[?\[?[12]?[0-9]{3}\]?\]?)[ ]?(-|--|−|–|—) ?'+
ur'(\[?\[?[12]?[0-9]{3}\]?\]?)(\W)(?!.{,20}(\.jpg|\.jpeg|\.png|\.gif|\.svg|\.ogg))',
ur'\1\2—\4\5'),
#Перевести номера веков в римские цифры
(ur'(?iu)(?<! через|спустя) 1( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' I \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 2( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' II \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 3( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' III \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 4( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' IV \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 5( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' V \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 6( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' VI \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 7( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' VII \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 8( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' VIII \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 9( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' IX \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 10( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' X \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 11( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XI \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 12( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XII \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 13( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XIII \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 14( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XIV \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 15( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XV \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 16( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XVI \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 17( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XVII \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 18( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XVIII \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 19( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XIX \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 20( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XX \2\5'), #пробел U+00A0
(ur'(?iu)(?<! через|спустя) 21( | | )?(в\.|век(а|у|ом|е)?|столети(е|я|ю|ем|и))'+
ur'(\W)(?!назад|спустя|тому назад|раньше|ранее|позже|позднее)',
ur' XXI \2\5'), #пробел U+00A0
#Вставить неразрывный пробел между веком и сокращениями "в." и "вв."
(ur'(\[?\[?[IVX]{1,5}\]?\]?) ?(в\.|вв\.)(?![^\[\{]*[\]\}])',
ur'\1 \2'), #пробел U+00A0
#Заменить дефис, дв. дефис и короткое тире на правильное тире в диапазонах веков
(ur'(?iu)([ \(\s])(\[?\[?[IVX]{1,5}\]?\]?)[ ]?(-|--|–|—) ?'+
ur'(\[?\[?[IVX]{1,5}\]?\]?)(\W)(?!.{,20}(\.jpg|\.jpeg|\.png|\.gif|\.svg|\.ogg))',
ur'\1\2—\4\5'),
]
}