MediaWiki:Gadget-BulbaTools.js — различия между версиями
Материал из ПокеВики
EvilCat (обсуждение | вклад) м |
Mootagen (обсуждение | вклад) м |
||
(не показано 26 промежуточных версий 3 участников) | |||
Строка 10: | Строка 10: | ||
label: 'Бульба-парсер', | label: 'Бульба-парсер', | ||
type: 'button', | type: 'button', | ||
− | icon: 'http://pokeliga.com/ | + | icon: 'http://wiki.pokeliga.com/w/images/1/18/30px-Bulbapedia_bulb.png', |
'action': { | 'action': { | ||
'type': 'callback', | 'type': 'callback', | ||
Строка 27: | Строка 27: | ||
var converted = convertLearnset(selected); | var converted = convertLearnset(selected); | ||
var newValue = textarea.value.substring(0, start) + converted + textarea.value.substring(end + 1); | var newValue = textarea.value.substring(0, start) + converted + textarea.value.substring(end + 1); | ||
− | + | textarea.value = newValue; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
Строка 137: | Строка 93: | ||
'Raichu': 'Райчу', | 'Raichu': 'Райчу', | ||
'Sandshrew': 'Сендшрю', | 'Sandshrew': 'Сендшрю', | ||
− | 'Sandslash': ' | + | 'Sandslash': 'Сендслеш', |
'Nidoran♀': 'Нидоранка', | 'Nidoran♀': 'Нидоранка', | ||
'Nidorina': 'Нидорина', | 'Nidorina': 'Нидорина', | ||
Строка 170: | Строка 126: | ||
'Arcanine': 'Арканин', | 'Arcanine': 'Арканин', | ||
'Poliwag': 'Поливаг', | 'Poliwag': 'Поливаг', | ||
− | 'Poliwhirl': ' | + | 'Poliwhirl': 'Поливёрл', |
'Poliwrath': 'Полирас', | 'Poliwrath': 'Полирас', | ||
'Abra': 'Абра', | 'Abra': 'Абра', | ||
Строка 234: | Строка 190: | ||
'Scyther': 'Сайтер', | 'Scyther': 'Сайтер', | ||
'Jynx': 'Джинкс', | 'Jynx': 'Джинкс', | ||
− | 'Electabuzz': ' | + | 'Electabuzz': 'Электабазз', |
'Magmar': 'Магмар', | 'Magmar': 'Магмар', | ||
'Pinsir': 'Пинсир', | 'Pinsir': 'Пинсир', | ||
Строка 288: | Строка 244: | ||
'Natu': 'Нату', | 'Natu': 'Нату', | ||
'Xatu': 'Ксату', | 'Xatu': 'Ксату', | ||
− | 'Mareep': ' | + | 'Mareep': 'Мэрип', |
'Flaaffy': 'Флаафи', | 'Flaaffy': 'Флаафи', | ||
'Ampharos': 'Амфарос', | 'Ampharos': 'Амфарос', | ||
Строка 307: | Строка 263: | ||
'Espeon': 'Эспеон', | 'Espeon': 'Эспеон', | ||
'Umbreon': 'Умбреон', | 'Umbreon': 'Умбреон', | ||
− | 'Murkrow': ' | + | 'Murkrow': 'Мёркроу', |
'Slowking': 'Слоукинг', | 'Slowking': 'Слоукинг', | ||
'Misdreavus': 'Мисдривус', | 'Misdreavus': 'Мисдривус', | ||
Строка 334: | Строка 290: | ||
'Remoraid': 'Реморейд', | 'Remoraid': 'Реморейд', | ||
'Octillery': 'Октилерия', | 'Octillery': 'Октилерия', | ||
− | 'Delibird': ' | + | 'Delibird': 'Делибёрд', |
'Mantine': 'Мантин', | 'Mantine': 'Мантин', | ||
'Skarmory': 'Скармори', | 'Skarmory': 'Скармори', | ||
Строка 412: | Строка 368: | ||
'Delcatty': 'Деликатти', | 'Delcatty': 'Деликатти', | ||
'Sableye': 'Саблай', | 'Sableye': 'Саблай', | ||
− | 'Mawile': ' | + | 'Mawile': 'Мавайл', |
'Aron': 'Арон', | 'Aron': 'Арон', | ||
'Lairon': 'Лайрон', | 'Lairon': 'Лайрон', | ||
Строка 524: | Строка 480: | ||
'Shieldon': 'Шилдон', | 'Shieldon': 'Шилдон', | ||
'Bastiodon': 'Баститодон', | 'Bastiodon': 'Баститодон', | ||
− | 'Burmy': ' | + | 'Burmy': 'Бёрми', |
'Wormadam': 'Вормадам', | 'Wormadam': 'Вормадам', | ||
'Mothim': 'Мотим', | 'Mothim': 'Мотим', | ||
Строка 579: | Строка 535: | ||
'Tangrowth': 'Тангроу', | 'Tangrowth': 'Тангроу', | ||
'Electivire': 'Элективайр', | 'Electivire': 'Элективайр', | ||
− | 'Magmortar': ' | + | 'Magmortar': 'Магмортар', |
'Togekiss': 'Тогекисс', | 'Togekiss': 'Тогекисс', | ||
'Yanmega': 'Янмега', | 'Yanmega': 'Янмега', | ||
Строка 599: | Строка 555: | ||
'Heatran': 'Хитран', | 'Heatran': 'Хитран', | ||
'Regigigas': 'Реджигигас', | 'Regigigas': 'Реджигигас', | ||
− | 'Giratina | + | 'Giratina': 'Гиратина', |
'Cresselia': 'Кресселия', | 'Cresselia': 'Кресселия', | ||
'Phione': 'Фионе', | 'Phione': 'Фионе', | ||
Строка 656: | Строка 612: | ||
'Leavanny': 'Ливанни', | 'Leavanny': 'Ливанни', | ||
'Venipede': 'Венипед', | 'Venipede': 'Венипед', | ||
− | 'Whirlipede': ' | + | 'Whirlipede': 'Вёрлипед', |
'Scolipede': 'Сколипед', | 'Scolipede': 'Сколипед', | ||
'Cottonee': 'Коттони', | 'Cottonee': 'Коттони', | ||
Строка 680: | Строка 636: | ||
'Archen': 'Архен', | 'Archen': 'Архен', | ||
'Archeops': 'Археопс', | 'Archeops': 'Археопс', | ||
− | 'Trubbish': ' | + | 'Trubbish': 'Траббиш', |
'Garbodor': 'Гарбодор', | 'Garbodor': 'Гарбодор', | ||
'Zorua': 'Зоруа', | 'Zorua': 'Зоруа', | ||
Строка 717: | Строка 673: | ||
'Eelektrik': 'Илектрик', | 'Eelektrik': 'Илектрик', | ||
'Eelektross': 'Илектрос', | 'Eelektross': 'Илектрос', | ||
− | 'Elgyem': ' | + | 'Elgyem': 'Элджием', |
− | 'Beheeyem': ' | + | 'Beheeyem': 'Бихием', |
'Litwick': 'Литвик', | 'Litwick': 'Литвик', | ||
'Lampent': 'Лампент', | 'Lampent': 'Лампент', | ||
Строка 731: | Строка 687: | ||
'Accelgor': 'Акселгор', | 'Accelgor': 'Акселгор', | ||
'Stunfisk': 'Станфиск', | 'Stunfisk': 'Станфиск', | ||
− | 'Mienfoo': ' | + | 'Mienfoo': 'Минфу', |
− | 'Mienshao': ' | + | 'Mienshao': 'Миншао', |
− | 'Druddigon': ' | + | 'Druddigon': 'Драддигон', |
'Golett': 'Голет', | 'Golett': 'Голет', | ||
'Golurk': 'Голюрк', | 'Golurk': 'Голюрк', | ||
Строка 746: | Строка 702: | ||
'Durant': 'Дюрант', | 'Durant': 'Дюрант', | ||
'Deino': 'Дайно', | 'Deino': 'Дайно', | ||
− | 'Zweilous': ' | + | 'Zweilous': 'Цвайлос', |
'Hydreigon': 'Гидрайгон', | 'Hydreigon': 'Гидрайгон', | ||
'Larvesta': 'Ларвеста', | 'Larvesta': 'Ларвеста', | ||
'Volcarona': 'Вулкарона', | 'Volcarona': 'Вулкарона', | ||
− | 'Cobalion': ' | + | 'Cobalion': 'Кобальён', |
− | 'Terrakion': ' | + | 'Terrakion': 'Терракьён', |
− | 'Virizion': ' | + | 'Virizion': 'Виризьён', |
'Tornadus': 'Торнадий', | 'Tornadus': 'Торнадий', | ||
'Thundurus': 'Тандерий', | 'Thundurus': 'Тандерий', | ||
Строка 781: | Строка 737: | ||
'Litleo': 'Литлео', | 'Litleo': 'Литлео', | ||
'Pyroar': 'Пироар', | 'Pyroar': 'Пироар', | ||
− | ' | + | 'Flabébé': 'Флабебе', |
'Floette': 'Флоэтта', | 'Floette': 'Флоэтта', | ||
'Florges': 'Флорджес', | 'Florges': 'Флорджес', | ||
Строка 796: | Строка 752: | ||
'Spritzee': 'Спритзи', | 'Spritzee': 'Спритзи', | ||
'Aromatisse': 'Ароматисс', | 'Aromatisse': 'Ароматисс', | ||
− | 'Swirlix': ' | + | 'Swirlix': 'Свёрликс', |
− | 'Slurpuff': ' | + | 'Slurpuff': 'Слёрпафф', |
'Inkay': 'Инкей', | 'Inkay': 'Инкей', | ||
'Malamar': 'Маламар', | 'Malamar': 'Маламар', | ||
Строка 908: | Строка 864: | ||
'Buzzwole': 'Баззвоул', | 'Buzzwole': 'Баззвоул', | ||
'Pheromosa': 'Феромоза', | 'Pheromosa': 'Феромоза', | ||
− | 'Xurkitree': ' | + | 'Xurkitree': 'Зёркитри', |
'Celesteela': 'Селестила', | 'Celesteela': 'Селестила', | ||
'Kartana': 'Картана', | 'Kartana': 'Картана', | ||
Строка 941: | Строка 897: | ||
'Nickit': 'Никит', | 'Nickit': 'Никит', | ||
'Thievul': 'Тивул', | 'Thievul': 'Тивул', | ||
− | 'Gossifleur': ' | + | 'Gossifleur': 'Госсифлёр', |
'Eldegoss': 'Элдегосс', | 'Eldegoss': 'Элдегосс', | ||
'Wooloo': 'Вулу', | 'Wooloo': 'Вулу', | ||
Строка 976: | Строка 932: | ||
'Obstagoon': 'Обстагун', | 'Obstagoon': 'Обстагун', | ||
'Perrserker': 'Перрсеркер', | 'Perrserker': 'Перрсеркер', | ||
− | 'Cursola': ' | + | 'Cursola': 'Кёрсола', |
"Sirfetch'd": "Сэрфеч'д", | "Sirfetch'd": "Сэрфеч'д", | ||
'Mr. Rime': 'Райм', | 'Mr. Rime': 'Райм', | ||
Строка 983: | Строка 939: | ||
'Alcremie': 'Алкрими', | 'Alcremie': 'Алкрими', | ||
'Falinks': 'Фалинкс', | 'Falinks': 'Фалинкс', | ||
− | 'Pincurchin': ' | + | 'Pincurchin': 'Пинкёрчин', |
'Snom': 'Сном', | 'Snom': 'Сном', | ||
'Frosmoth': 'Фросмос', | 'Frosmoth': 'Фросмос', | ||
Строка 1002: | Строка 958: | ||
'Zacian': 'Зациан', | 'Zacian': 'Зациан', | ||
'Zamazenta': 'Замазента', | 'Zamazenta': 'Замазента', | ||
− | 'Eternatus': 'Этернатий' | + | 'Eternatus': 'Этернатий', |
+ | 'Kubfu': 'Кубфу', | ||
+ | 'Urshifu': 'Уршифу', | ||
+ | 'Zarude': 'Заруд', | ||
+ | 'Regieleki': 'Реджиэлеки', | ||
+ | 'Regidrago': 'Реджидраго', | ||
+ | 'Glastrier': 'Гластриэ', | ||
+ | 'Spectrier': 'Спектриэ', | ||
+ | 'Calyrex': 'Калирекс', | ||
} | } | ||
Строка 1025: | Строка 989: | ||
pokewikiParams.push(numberOfTypes); | pokewikiParams.push(numberOfTypes); | ||
− | for (var | + | for (var index in types) { |
+ | var type = types[index]; | ||
pokewikiParams.push(convertType(type)); | pokewikiParams.push(convertType(type)); | ||
} | } | ||
Строка 1053: | Строка 1018: | ||
if (bulbapediaParams[0] === 'Movehead/Level') { | if (bulbapediaParams[0] === 'Movehead/Level') { | ||
− | return '{{ | + | return '{{Приёмышапка/уровень|' + convertType(bulbapediaParams[1]) + '|' + bulbapediaParams[2] + '}}'; |
} | } | ||
if (bulbapediaParams[0] === 'Movehead/TM') { | if (bulbapediaParams[0] === 'Movehead/TM') { | ||
− | var pokewikiParams = [' | + | var pokewikiParams = ['Приёмышапка/ТМ', convertType(bulbapediaParams[1])]; |
for (var i = 2; i < bulbapediaParams.length; i++) { | for (var i = 2; i < bulbapediaParams.length; i++) { | ||
pokewikiParams.push(bulbapediaParams[i] === 'no' ? 'нет' : bulbapediaParams[i]); | pokewikiParams.push(bulbapediaParams[i] === 'no' ? 'нет' : bulbapediaParams[i]); | ||
Строка 1065: | Строка 1030: | ||
if (bulbapediaParams[0] === 'Movefoot') { | if (bulbapediaParams[0] === 'Movefoot') { | ||
− | return '{{ | + | var gens = parseInt(bulbapediaParams[2], 10); |
+ | return '{{Приёмыниз|' + convertType(bulbapediaParams[1]) + '|' + (NUMBER_OF_GENS - gens + 1) + '}}'; | ||
} | } | ||
if (!bulbapediaParams[0].startsWith('Moveentry/')) return line; | if (!bulbapediaParams[0].startsWith('Moveentry/')) return line; | ||
− | |||
− | |||
var gens = parseInt(bulbapediaParams[0].split('/')[1], 10); | var gens = parseInt(bulbapediaParams[0].split('/')[1], 10); | ||
− | pokewikiParams | + | var pokewikiParams = ['Приёмы/Поколение' + (NUMBER_OF_GENS - gens + 1)]; |
var numberOfTypes = bulbapediaParams[4].startsWith('type2=') ? 2 : 1; | var numberOfTypes = bulbapediaParams[4].startsWith('type2=') ? 2 : 1; | ||
Строка 1100: | Строка 1064: | ||
if (tag.startsWith('Learned upon evolving')) { | if (tag.startsWith('Learned upon evolving')) { | ||
subParams[subParams.length-1] = subParams[subParams.length-1] + '{{tt|ЭВ|Изучается при эволюции}}'; | subParams[subParams.length-1] = subParams[subParams.length-1] + '{{tt|ЭВ|Изучается при эволюции}}'; | ||
+ | } else if (subParams[subParams.length-1].startsWith('{{tt|')) { | ||
+ | subParams[subParams.length-1] = subParams[subParams.length-1].substr(0, subParams[subParams.length-1].length - 2) + tag + '}}'; | ||
} else { | } else { | ||
subParams[subParams.length-1] = '{{tt|' + subParams[subParams.length-1].replace('{{tt|ЭВ|Изучается при эволюции}}', 'ЭВ') + '|' + tag + '}}'; | subParams[subParams.length-1] = '{{tt|' + subParams[subParams.length-1].replace('{{tt|ЭВ|Изучается при эволюции}}', 'ЭВ') + '|' + tag + '}}'; | ||
Строка 1106: | Строка 1072: | ||
} | } | ||
+ | // <br> is a delimeter between different games in the same gen | ||
if (!tagMode && prevChar === '>' && subParams[subParams.length-1].endsWith('<br>')) { | if (!tagMode && prevChar === '>' && subParams[subParams.length-1].endsWith('<br>')) { | ||
subParams[subParams.length-1] = subParams[subParams.length-1].replace('<br>', ''); | subParams[subParams.length-1] = subParams[subParams.length-1].replace('<br>', ''); | ||
Строка 1118: | Строка 1085: | ||
subParams[subParams.length-1] = subParams[subParams.length-1] + char; | subParams[subParams.length-1] = subParams[subParams.length-1] + char; | ||
} else { | } else { | ||
− | var param = subParams.join(' | + | var param = subParams.join('<br>'); |
subParams = ['']; | subParams = ['']; | ||
− | if (param.startsWith('STAB=')) continue; | + | if (param.startsWith('STAB=') || param.startsWith('form=')) continue; |
if (param.length === 0) param = '-'; | if (param.length === 0) param = '-'; | ||
param = param.replace('Evo.', 'ЭВ') | param = param.replace('Evo.', 'ЭВ') | ||
Строка 1141: | Строка 1108: | ||
function convertLearnset(bulbapediaTable) { | function convertLearnset(bulbapediaTable) { | ||
var pokewikiTable = []; | var pokewikiTable = []; | ||
− | + | var lines = bulbapediaTable.split('\n'); | |
+ | for (var index in lines) { | ||
+ | var line = lines[index]; | ||
if (line.startsWith('=') && line.endsWith('=')) { | if (line.startsWith('=') && line.endsWith('=')) { | ||
pokewikiTable.push(convertLearnsetHeaderLine(line)); | pokewikiTable.push(convertLearnsetHeaderLine(line)); |
Текущая версия на 19:44, 8 июля 2022
var customizeToolbar = function() { $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'advanced', 'group': 'insert', 'tools': { 'bulba': { label: 'Бульба-парсер', type: 'button', icon: 'http://wiki.pokeliga.com/w/images/1/18/30px-Bulbapedia_bulb.png', 'action': { 'type': 'callback', 'execute': BulbaParser } } } }); function BulbaParser(WikiEditorContext) { var textarea = WikiEditorContext.$textarea[0]; var start = textarea.selectionStart; var end = textarea.selectionEnd; var selected = textarea.value.substring(start, end); var converted = convertLearnset(selected); var newValue = textarea.value.substring(0, start) + converted + textarea.value.substring(end + 1); textarea.value = newValue; } }; if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) { mw.loader.using( 'user.options', function () { if ( mw.user.options.get('usebetatoolbar') ) { mw.loader.using( 'ext.wikiEditor.toolbar', function () { $(document).ready( customizeToolbar ); } ); } } ); } console.log("BulbaTools ready"); const Types = { 'Bug': 'Насекомый', 'Dark': 'Тёмный', 'Dragon': 'Драконий', 'Electric': 'Электрический', 'Fairy': 'Волшебный', 'Fighting': 'Боевой', 'Fire': 'Огненный', 'Flying': 'Летающий', 'Ghost': 'Призрачный', 'Grass': 'Травяной', 'Ground': 'Земляной', 'Ice': 'Ледяной', 'Normal': 'Нормальный', 'Poison': 'Ядовитый', 'Psychic': 'Психический', 'Rock': 'Каменный', 'Steel': 'Стальной', 'Water': 'Водный', }; const NUMBER_OF_GENS = 8; const PokemonNames = { 'Bulbasaur': 'Бульбазавр', 'Ivysaur': 'Ивизавр', 'Venusaur': 'Венузавр', 'Charmander': 'Чармандер', 'Charmeleon': 'Чармилион', 'Charizard': 'Чаризард', 'Squirtle': 'Сквиртл', 'Wartortle': 'Вортортл', 'Blastoise': 'Бластойз', 'Caterpie': 'Катерпи', 'Metapod': 'Метапод', 'Butterfree': 'Баттерфри', 'Weedle': 'Видл', 'Kakuna': 'Какуна', 'Beedrill': 'Бидрилла', 'Pidgey': 'Пиджи', 'Pidgeotto': 'Пиджеотто', 'Pidgeot': 'Пиджеот', 'Rattata': 'Раттата', 'Raticate': 'Ратикат', 'Spearow': 'Спироу', 'Fearow': 'Фироу', 'Ekans': 'Иканс', 'Arbok': 'Эрбок', 'Pikachu': 'Пикачу', 'Raichu': 'Райчу', 'Sandshrew': 'Сендшрю', 'Sandslash': 'Сендслеш', 'Nidoran♀': 'Нидоранка', 'Nidorina': 'Нидорина', 'Nidoqueen': 'Нидоквин', 'Nidoran♂': 'Нидоран', 'Nidorino': 'Нидорино', 'Nidoking': 'Нидокинг', 'Clefairy': 'Клефейри', 'Clefable': 'Клефабл', 'Vulpix': 'Вульпикс', 'Ninetales': 'Найнтэйлз', 'Jigglypuff': 'Джигглипуф', 'Wigglytuff': 'Вигглитуф', 'Zubat': 'Зубат', 'Golbat': 'Голбат', 'Oddish': 'Оддиш', 'Gloom': 'Глум', 'Vileplume': 'Вилплум', 'Paras': 'Парас', 'Parasect': 'Парасект', 'Venonat': 'Венонат', 'Venomoth': 'Веномот', 'Diglett': 'Диглетт', 'Dugtrio': 'Дагтрио', 'Meowth': 'Мяут', 'Persian': 'Перс', 'Psyduck': 'Псидак', 'Golduck': 'Голдак', 'Mankey': 'Мэнки', 'Primeape': 'Примап', 'Growlithe': 'Гроулит', 'Arcanine': 'Арканин', 'Poliwag': 'Поливаг', 'Poliwhirl': 'Поливёрл', 'Poliwrath': 'Полирас', 'Abra': 'Абра', 'Kadabra': 'Кадабра', 'Alakazam': 'Алаказам', 'Machop': 'Мачоп', 'Machoke': 'Мачок', 'Machamp': 'Мачемп', 'Bellsprout': 'Беллспраут', 'Weepinbell': 'Випинбелл', 'Victreebel': 'Виктрибел', 'Tentacool': 'Тентакул', 'Tentacruel': 'Тентакруэль', 'Geodude': 'Джеодуд', 'Graveler': 'Гравелер', 'Golem': 'Голем', 'Ponyta': 'Понита', 'Rapidash': 'Рапидаш', 'Slowpoke': 'Слоупок', 'Slowbro': 'Слоубро', 'Magnemite': 'Магнемайт', 'Magneton': 'Магнетон', "Farfetch'd": "Фарфеч'д", 'Doduo': 'Додуо', 'Dodrio': 'Додрио', 'Seel': 'Силл', 'Dewgong': 'Дюгонг', 'Grimer': 'Граймер', 'Muk': 'Макк', 'Shellder': 'Шеллдер', 'Cloyster': 'Клойстер', 'Gastly': 'Гастли', 'Haunter': 'Хонтер', 'Gengar': 'Генгар', 'Onix': 'Оникс', 'Drowzee': 'Дроузи', 'Hypno': 'Гипно', 'Krabby': 'Крабби', 'Kingler': 'Кинглер', 'Voltorb': 'Волторб', 'Electrode': 'Электрод', 'Exeggcute': 'Экзегкут', 'Exeggutor': 'Экзеггутор', 'Cubone': 'Кубон', 'Marowak': 'Маровак', 'Hitmonlee': 'Хитмонли', 'Hitmonchan': 'Хитмончан', 'Lickitung': 'Ликитунг', 'Koffing': 'Коффинг', 'Weezing': 'Визинг', 'Rhyhorn': 'Райхорн', 'Rhydon': 'Райдон', 'Chansey': 'Ченси', 'Tangela': 'Тангела', 'Kangaskhan': 'Кангасханна', 'Horsea': 'Хорси', 'Seadra': 'Сидра', 'Goldeen': 'Голдин', 'Seaking': 'Сикинг', 'Staryu': 'Старью', 'Starmie': 'Старми', 'Mr. Mime': 'Майм', 'Scyther': 'Сайтер', 'Jynx': 'Джинкс', 'Electabuzz': 'Электабазз', 'Magmar': 'Магмар', 'Pinsir': 'Пинсир', 'Tauros': 'Таурос', 'Magikarp': 'Магикарп', 'Gyarados': 'Гярадос', 'Lapras': 'Лапрас', 'Ditto': 'Дитто', 'Eevee': 'Иви', 'Vaporeon': 'Вапореон', 'Jolteon': 'Джолтеон', 'Flareon': 'Флареон', 'Porygon': 'Поригон', 'Omanyte': 'Оманит', 'Omastar': 'Омастар', 'Kabuto': 'Кабуто', 'Kabutops': 'Кабутопс', 'Aerodactyl': 'Аэродактиль', 'Snorlax': 'Снорлакс', 'Articuno': 'Артикуно', 'Zapdos': 'Запдос', 'Moltres': 'Молтрес', 'Dratini': 'Дратини', 'Dragonair': 'Драгонир', 'Dragonite': 'Драгонит', 'Mewtwo': 'Мьюту', 'Mew': 'Мью', 'Chikorita': 'Чикорита', 'Bayleef': 'Бэйлиф', 'Meganium': 'Меганиум', 'Cyndaquil': 'Синдаквил', 'Quilava': 'Квилава', 'Typhlosion': 'Тифложн', 'Totodile': 'Тотодил', 'Croconaw': 'Кроконав', 'Feraligatr': 'Фералигатр', 'Sentret': 'Сентрет', 'Furret': 'Фуррет', 'Hoothoot': 'Хут-хут', 'Noctowl': 'Ноктаул', 'Ledyba': 'Ледиба', 'Ledian': 'Ледиан', 'Spinarak': 'Спинарак', 'Ariados': 'Ариадос', 'Crobat': 'Кробат', 'Chinchou': 'Чинчоу', 'Lanturn': 'Лантурн', 'Pichu': 'Пичу', 'Cleffa': 'Клеффа', 'Igglybuff': 'Игглибуф', 'Togepi': 'Тогепи', 'Togetic': 'Тогетик', 'Natu': 'Нату', 'Xatu': 'Ксату', 'Mareep': 'Мэрип', 'Flaaffy': 'Флаафи', 'Ampharos': 'Амфарос', 'Bellossom': 'Беллоссом', 'Marill': 'Мэрилл', 'Azumarill': 'Азумэрилл', 'Sudowoodo': 'Судовудо', 'Politoed': 'Политоед', 'Hoppip': 'Хоппип', 'Skiploom': 'Скиплум', 'Jumpluff': 'Джамплафф', 'Aipom': 'Айпом', 'Sunkern': 'Санкерн', 'Sunflora': 'Санфлора', 'Yanma': 'Янма', 'Wooper': 'Вупер', 'Quagsire': 'Квагсир', 'Espeon': 'Эспеон', 'Umbreon': 'Умбреон', 'Murkrow': 'Мёркроу', 'Slowking': 'Слоукинг', 'Misdreavus': 'Мисдривус', 'Unown': 'Аноун', 'Wobbuffet': 'Воббуффет', 'Girafarig': 'Жирафариж', 'Pineco': 'Пинеко', 'Forretress': 'Форретресс', 'Dunsparce': 'Данспарс', 'Gligar': 'Глигар', 'Steelix': 'Стиликс', 'Snubbull': 'Снаббул', 'Granbull': 'Грэнбул', 'Qwilfish': 'Квилфиш', 'Scizor': 'Сизор', 'Shuckle': 'Шакл', 'Heracross': 'Геракросс', 'Sneasel': 'Снизил', 'Teddiursa': 'Теддиурса', 'Ursaring': 'Урсаринг', 'Slugma': 'Слагма', 'Magcargo': 'Магкарго', 'Swinub': 'Свинуб', 'Piloswine': 'Пилосвин', 'Corsola': 'Корсола', 'Remoraid': 'Реморейд', 'Octillery': 'Октилерия', 'Delibird': 'Делибёрд', 'Mantine': 'Мантин', 'Skarmory': 'Скармори', 'Houndour': 'Хондар', 'Houndoom': 'Хондум', 'Kingdra': 'Кингдра', 'Phanpy': 'Фанпи', 'Donphan': 'Донфан', 'Porygon2': 'Поригон2', 'Stantler': 'Стантлер', 'Smeargle': 'Смиргл', 'Tyrogue': 'Тирог', 'Hitmontop': 'Хитмонтоп', 'Smoochum': 'Смучум', 'Elekid': 'Элекид', 'Magby': 'Магби', 'Miltank': 'Милтанк', 'Blissey': 'Блисси', 'Raikou': 'Райко', 'Entei': 'Энтей', 'Suicune': 'Суйкун', 'Larvitar': 'Ларвитар', 'Pupitar': 'Пупитар', 'Tyranitar': 'Тиранитар', 'Lugia': 'Лугия', 'Ho-Oh': 'Хо-ох', 'Celebi': 'Селеби', 'Treecko': 'Трикко', 'Grovyle': 'Гроувил', 'Sceptile': 'Септил', 'Torchic': 'Торчик', 'Combusken': 'Комбускен', 'Blaziken': 'Блазикен', 'Mudkip': 'Мадкип', 'Marshtomp': 'Марштомп', 'Swampert': 'Свамперт', 'Poochyena': 'Почена', 'Mightyena': 'Майтена', 'Zigzagoon': 'Зигзагун', 'Linoone': 'Линун', 'Wurmple': 'Вурмпл', 'Silcoon': 'Силкун', 'Beautifly': 'Бьютифлай', 'Cascoon': 'Каскун', 'Dustox': 'Дастокс', 'Lotad': 'Лотад', 'Lombre': 'Ломбрэ', 'Ludicolo': 'Лудиколо', 'Seedot': 'Сидот', 'Nuzleaf': 'Назлиф', 'Shiftry': 'Шифтри', 'Taillow': 'Тэйллоу', 'Swellow': 'Свеллоу', 'Wingull': 'Вингал', 'Pelipper': 'Пелиппер', 'Ralts': 'Ральтс', 'Kirlia': 'Кирлия', 'Gardevoir': 'Гардевуар', 'Surskit': 'Сурскит', 'Masquerain': 'Маскирейн', 'Shroomish': 'Шрумиш', 'Breloom': 'Брелум', 'Slakoth': 'Слакос', 'Vigoroth': 'Вигорос', 'Slaking': 'Слакинг', 'Nincada': 'Нинкада', 'Ninjask': 'Нинджаск', 'Shedinja': 'Шединья', 'Whismur': 'Висмур', 'Loudred': 'Лаудред', 'Exploud': 'Эксплауд', 'Makuhita': 'Макухита', 'Hariyama': 'Харияма', 'Azurill': 'Азурилл', 'Nosepass': 'Носпасс', 'Skitty': 'Скитти', 'Delcatty': 'Деликатти', 'Sableye': 'Саблай', 'Mawile': 'Мавайл', 'Aron': 'Арон', 'Lairon': 'Лайрон', 'Aggron': 'Аггрон', 'Meditite': 'Медитит', 'Medicham': 'Медичам', 'Electrike': 'Электрайк', 'Manectric': 'Манектрик', 'Plusle': 'Плюсл', 'Minun': 'Минун', 'Volbeat': 'Волбит', 'Illumise': 'Иллюмайз', 'Roselia': 'Розалия', 'Gulpin': 'Гульпин', 'Swalot': 'Свалот', 'Carvanha': 'Карванья', 'Sharpedo': 'Шарпедо', 'Wailmer': 'Вэйлмир', 'Wailord': 'Вэйлорд', 'Numel': 'Нумель', 'Camerupt': 'Камерупт', 'Torkoal': 'Торкол', 'Spoink': 'Споинк', 'Grumpig': 'Грумпиг', 'Spinda': 'Спинда', 'Trapinch': 'Трапинч', 'Vibrava': 'Вибрава', 'Flygon': 'Флайгон', 'Cacnea': 'Какнея', 'Cacturne': 'Кактурн', 'Swablu': 'Сваблю', 'Altaria': 'Алтария', 'Zangoose': 'Зангус', 'Seviper': 'Севипер', 'Lunatone': 'Лунатон', 'Solrock': 'Солрок', 'Barboach': 'Барбоч', 'Whiscash': 'Вискаш', 'Corphish': 'Корфиш', 'Crawdaunt': 'Крадонт', 'Baltoy': 'Балтой', 'Claydol': 'Клэйдол', 'Lileep': 'Лилип', 'Cradily': 'Крадили', 'Anorith': 'Анорит', 'Armaldo': 'Армальдо', 'Feebas': 'Фибас', 'Milotic': 'Милотик', 'Castform': 'Кастформ', 'Kecleon': 'Кеклеон', 'Shuppet': 'Шаппет', 'Banette': 'Банетта', 'Duskull': 'Даскалл', 'Dusclops': 'Дасклопс', 'Tropius': 'Тропиус', 'Chimecho': 'Чимеко', 'Absol': 'Абсол', 'Wynaut': 'Вайнот', 'Snorunt': 'Снорант', 'Glalie': 'Глали', 'Spheal': 'Сфил', 'Sealeo': 'Силео', 'Walrein': 'Валрейн', 'Clamperl': 'Кламперл', 'Huntail': 'Хантейл', 'Gorebyss': 'Горбисс', 'Relicanth': 'Реликант', 'Luvdisc': 'Лавдиск', 'Bagon': 'Багон', 'Shelgon': 'Шеллгон', 'Salamence': 'Саламенс', 'Beldum': 'Белдам', 'Metang': 'Метанг', 'Metagross': 'Метагросс', 'Regirock': 'Реджирок', 'Regice': 'Реджиайс', 'Registeel': 'Реджистил', 'Latias': 'Латиас', 'Latios': 'Латиос', 'Kyogre': 'Кайогр', 'Groudon': 'Градон', 'Rayquaza': 'Рекваза', 'Jirachi': 'Джирачи', 'Deoxys': 'Деоксис', 'Deoxys': 'Деоксис', 'Deoxys': 'Деоксис', 'Deoxys': 'Деоксис', 'Turtwig': 'Туртвиг', 'Grotle': 'Гротл', 'Torterra': 'Тортерра', 'Chimchar': 'Чимчар', 'Monferno': 'Монферно', 'Infernape': 'Инфернейп', 'Piplup': 'Пиплап', 'Prinplup': 'Принплап', 'Empoleon': 'Эмполеон', 'Starly': 'Старли', 'Staravia': 'Старэвия', 'Staraptor': 'Стараптор', 'Bidoof': 'Бидуф', 'Bibarel': 'Бибарель', 'Kricketot': 'Крикетот', 'Kricketune': 'Крикетьюн', 'Shinx': 'Шинкс', 'Luxio': 'Люксио', 'Luxray': 'Люксрэй', 'Budew': 'Бадью', 'Roserade': 'Роузрейд', 'Cranidos': 'Крэнидос', 'Rampardos': 'Рампардос', 'Shieldon': 'Шилдон', 'Bastiodon': 'Баститодон', 'Burmy': 'Бёрми', 'Wormadam': 'Вормадам', 'Mothim': 'Мотим', 'Combee': 'Комби', 'Vespiquen': 'Веспиквин', 'Pachirisu': 'Пачирису', 'Buizel': 'Буизель', 'Floatzel': 'Флотзел', 'Cherubi': 'Черуби', 'Cherrim': 'Черрим', 'Shellos': 'Шеллос', 'Gastrodon': 'Гастродон', 'Ambipom': 'Эмбипом', 'Drifloon': 'Дрифлун', 'Drifblim': 'Дрифблим', 'Buneary': 'Банири', 'Lopunny': 'Лопанни', 'Mismagius': 'Мисмагиус', 'Honchkrow': 'Ханчкроу', 'Glameow': 'Глэймяу', 'Purugly': 'Парагли', 'Chingling': 'Чинлинг', 'Stunky': 'Станки', 'Skuntank': 'Скантанк', 'Bronzor': 'Бронзор', 'Bronzong': 'Бронзонг', 'Bonsly': 'Бонслай', 'Mime Jr.': 'Майм Мл.', 'Happiny': 'Хэппини', 'Chatot': 'Чатот', 'Spiritomb': 'Спиритомб', 'Gible': 'Гибл', 'Gabite': 'Габит', 'Garchomp': 'Гарчомп', 'Munchlax': 'Манчлакс', 'Riolu': 'Риолу', 'Lucario': 'Лукарио', 'Hippopotas': 'Гиппопотас', 'Hippowdon': 'Гипподон', 'Skorupi': 'Скорупи', 'Drapion': 'Драпион', 'Croagunk': 'Кроганк', 'Toxicroak': 'Токсикроук', 'Carnivine': 'Карнивайн', 'Finneon': 'Финнеон', 'Lumineon': 'Люминеон', 'Mantyke': 'Мэнтайк', 'Snover': 'Сновер', 'Abomasnow': 'Абомасноу', 'Weavile': 'Вивайл', 'Magnezone': 'Магнезон', 'Lickilicky': 'Ликилики', 'Rhyperior': 'Райпериор', 'Tangrowth': 'Тангроу', 'Electivire': 'Элективайр', 'Magmortar': 'Магмортар', 'Togekiss': 'Тогекисс', 'Yanmega': 'Янмега', 'Leafeon': 'Лифеон', 'Glaceon': 'Глэсеон', 'Gliscor': 'Глайскор', 'Mamoswine': 'Мамосвин', 'Porygon-Z': 'Поригон-Z', 'Gallade': 'Галлэйд', 'Probopass': 'Пробопасс', 'Dusknoir': 'Даскнуар', 'Froslass': 'Фросласс', 'Rotom': 'Ротом', 'Uxie': 'Юкси', 'Mesprit': 'Месприт', 'Azelf': 'Азелф', 'Dialga': 'Диалга', 'Palkia': 'Палкиа', 'Heatran': 'Хитран', 'Regigigas': 'Реджигигас', 'Giratina': 'Гиратина', 'Cresselia': 'Кресселия', 'Phione': 'Фионе', 'Manaphy': 'Манафи', 'Darkrai': 'Даркрай', 'Shaymin': 'Шеймин', 'Arceus': 'Арсеус', 'Victini': 'Виктини', 'Snivy': 'Снайви', 'Servine': 'Сервайн', 'Serperior': 'Серпериор', 'Tepig': 'Тепиг', 'Pignite': 'Пигнит', 'Emboar': 'Эмбор', 'Oshawott': 'Ошавот', 'Dewott': 'Девот', 'Samurott': 'Самурот', 'Patrat': 'Патрат', 'Watchog': 'Вачог', 'Lillipup': 'Лилипап', 'Herdier': 'Гердьер', 'Stoutland': 'Штотланд', 'Purrloin': 'Пурлойн', 'Liepard': 'Лайпард', 'Pansage': 'Пансейж', 'Simisage': 'Симисейж', 'Pansear': 'Пансир', 'Simisear': 'Симисир', 'Panpour': 'Панпур', 'Simipour': 'Симипур', 'Munna': 'Мунна', 'Musharna': 'Мушарна', 'Pidove': 'Пидав', 'Tranquill': 'Транквил', 'Unfezant': 'Анфезант', 'Blitzle': 'Блицил', 'Zebstrika': 'Зебстрика', 'Roggenrola': 'Роггенрола', 'Boldore': 'Болдор', 'Gigalith': 'Гигалит', 'Woobat': 'Вубат', 'Swoobat': 'Свубат', 'Drilbur': 'Дрилбур', 'Excadrill': 'Эскадрил', 'Audino': 'Аудино', 'Timburr': 'Тимбур', 'Gurdurr': 'Гурдур', 'Conkeldurr': 'Конкельдур', 'Tympole': 'Таймпол', 'Palpitoad': 'Палпитод', 'Seismitoad': 'Сейсмитод', 'Throh': 'Тро', 'Sawk': 'Соук', 'Sewaddle': 'Сивадл', 'Swadloon': 'Свадлун', 'Leavanny': 'Ливанни', 'Venipede': 'Венипед', 'Whirlipede': 'Вёрлипед', 'Scolipede': 'Сколипед', 'Cottonee': 'Коттони', 'Whimsicott': 'Вимсикотт', 'Petilil': 'Питилил', 'Lilligant': 'Лилигант', 'Basculin': 'Баскулин', 'Sandile': 'Сандил', 'Krokorok': 'Крокорок', 'Krookodile': 'Крукодил', 'Darumaka': 'Дарумака', 'Darmanitan': 'Дарманитан', 'Maractus': 'Марактус', 'Dwebble': 'Двебл', 'Crustle': 'Крастл', 'Scraggy': 'Скрагги', 'Scrafty': 'Скрафти', 'Sigilyph': 'Сигилиф', 'Yamask': 'Ямаск', 'Cofagrigus': 'Кофагриг', 'Tirtouga': 'Тиртога', 'Carracosta': 'Карракоста', 'Archen': 'Архен', 'Archeops': 'Археопс', 'Trubbish': 'Траббиш', 'Garbodor': 'Гарбодор', 'Zorua': 'Зоруа', 'Zoroark': 'Зороарк', 'Minccino': 'Минцино', 'Cinccino': 'Синцино', 'Gothita': 'Готита', 'Gothorita': 'Готорита', 'Gothitelle': 'Готитель', 'Solosis': 'Солосий', 'Duosion': 'Дуосион', 'Reuniclus': 'Реюниклий', 'Ducklett': 'Даклетта', 'Swanna': 'Свана', 'Vanillite': 'Ванилит', 'Vanillish': 'Ванилиш', 'Vanilluxe': 'Ванилюкс', 'Deerling': 'Дирлинг', 'Sawsbuck': 'Сосбак', 'Emolga': 'Эмолга', 'Karrablast': 'Каррабласт', 'Escavalier': 'Эскавальер', 'Foongus': 'Фунг', 'Amoonguss': 'Амунг', 'Frillish': 'Фриллиш', 'Jellicent': 'Желесент', 'Alomomola': 'Аломомола', 'Joltik': 'Джолтик', 'Galvantula': 'Гальвантул', 'Ferroseed': 'Ферросид', 'Ferrothorn': 'Ферроторн', 'Klink': 'Клинк', 'Klang': 'Кланг', 'Klinklang': 'Клинкланг', 'Tynamo': 'Тайнамо', 'Eelektrik': 'Илектрик', 'Eelektross': 'Илектрос', 'Elgyem': 'Элджием', 'Beheeyem': 'Бихием', 'Litwick': 'Литвик', 'Lampent': 'Лампент', 'Chandelure': 'Канделюр', 'Axew': 'Аксю', 'Fraxure': 'Фраксюр', 'Haxorus': 'Гаксорий', 'Cubchoo': 'Кабчу', 'Beartic': 'Беартик', 'Cryogonal': 'Криогонал', 'Shelmet': 'Шелм', 'Accelgor': 'Акселгор', 'Stunfisk': 'Станфиск', 'Mienfoo': 'Минфу', 'Mienshao': 'Миншао', 'Druddigon': 'Драддигон', 'Golett': 'Голет', 'Golurk': 'Голюрк', 'Pawniard': 'Поньярд', 'Bisharp': 'Бишарп', 'Bouffalant': 'Буфалант', 'Rufflet': 'Рафлет', 'Braviary': 'Бравьяри', 'Vullaby': 'Вуллаби', 'Mandibuzz': 'Мандибазз', 'Heatmor': 'Хитмор', 'Durant': 'Дюрант', 'Deino': 'Дайно', 'Zweilous': 'Цвайлос', 'Hydreigon': 'Гидрайгон', 'Larvesta': 'Ларвеста', 'Volcarona': 'Вулкарона', 'Cobalion': 'Кобальён', 'Terrakion': 'Терракьён', 'Virizion': 'Виризьён', 'Tornadus': 'Торнадий', 'Thundurus': 'Тандерий', 'Reshiram': 'Реширам', 'Zekrom': 'Зекром', 'Landorus': 'Ландорий', 'Kyurem': 'Кюрем', 'Keldeo': 'Келдио', 'Meloetta': 'Мелоэтта', 'Genesect': 'Генесект', 'Chespin': 'Чеспин', 'Quilladin': 'Квилладин', 'Chesnaught': 'Чеснаут', 'Fennekin': 'Феннекин', 'Braixen': 'Брейксен', 'Delphox': 'Дельфокс', 'Froakie': 'Фроки', 'Frogadier': 'Фрогадир', 'Greninja': 'Грениндзя', 'Bunnelby': 'Баннелби', 'Diggersby': 'Диггерсби', 'Fletchling': 'Флетчлинг', 'Fletchinder': 'Флетчиндер', 'Talonflame': 'Тэлонфлейм', 'Scatterbug': 'Скаттербаг', 'Spewpa': 'Спьюпа', 'Vivillon': 'Вивийон', 'Litleo': 'Литлео', 'Pyroar': 'Пироар', 'Flabébé': 'Флабебе', 'Floette': 'Флоэтта', 'Florges': 'Флорджес', 'Skiddo': 'Скиддо', 'Gogoat': 'Гогоат', 'Pancham': 'Панчем', 'Pangoro': 'Пангоро', 'Furfrou': 'Фурфру', 'Espurr': 'Эспурр', 'Meowstic': 'Мяустик', 'Honedge': 'Хонэдж', 'Doublade': 'Даблэйд', 'Aegislash': 'Эгислэш', 'Spritzee': 'Спритзи', 'Aromatisse': 'Ароматисс', 'Swirlix': 'Свёрликс', 'Slurpuff': 'Слёрпафф', 'Inkay': 'Инкей', 'Malamar': 'Маламар', 'Binacle': 'Бинакл', 'Barbaracle': 'Барбаракл', 'Skrelp': 'Скрелп', 'Dragalge': 'Драгалге', 'Clauncher': 'Клончер', 'Clawitzer': 'Кловитцер', 'Helioptile': 'Гелиоптил', 'Heliolisk': 'Гелиолиск', 'Tyrunt': 'Тирант', 'Tyrantrum': 'Тирантрум', 'Amaura': 'Амаура', 'Aurorus': 'Аврорий', 'Sylveon': 'Сильвеон', 'Hawlucha': 'Холуча', 'Dedenne': 'Деденне', 'Carbink': 'Карбинк', 'Goomy': 'Гуми', 'Sliggoo': 'Слиггу', 'Goodra': 'Гудра', 'Klefki': 'Клефки', 'Phantump': 'Фантамп', 'Trevenant': 'Тревенант', 'Pumpkaboo': 'Пампкабу', 'Gourgeist': 'Горгайст', 'Bergmite': 'Бергмайт', 'Avalugg': 'Авалагг', 'Noibat': 'Нойбат', 'Noivern': 'Нойверн', 'Xerneas': 'Ксерний', 'Yveltal': 'Ивелталь', 'Zygarde': 'Зигард', 'Diancie': 'Дианси', 'Hoopa': 'Хупа', 'Volcanion': 'Вулканьон', 'Rowlet': 'Раулет', 'Dartrix': 'Дартрикс', 'Decidueye': 'Десиджуай', 'Litten': 'Литтен', 'Torracat': 'Торракэт', 'Incineroar': 'Инсинероар', 'Popplio': 'Попплио', 'Brionne': 'Брионна', 'Primarina': 'Примарина', 'Pikipek': 'Пикипек', 'Trumbeak': 'Трамбик', 'Toucannon': 'Тукэннон', 'Yungoos': 'Янгус', 'Gumshoos': 'Гамшус', 'Grubbin': 'Граббин', 'Charjabug': 'Чарджабаг', 'Vikavolt': 'Викавольт', 'Crabrawler': 'Краброулер', 'Crabominable': 'Крабоминэбл', 'Oricorio': 'Орикорио', 'Cutiefly': 'Кьютифлай', 'Ribombee': 'Рибомби', 'Rockruff': 'Рокрафф', 'Lycanroc': 'Ликанрок', 'Wishiwashi': 'Вишиваши', 'Mareanie': 'Марини', 'Toxapex': 'Токсапекс', 'Mudbray': 'Мадбрэй', 'Mudsdale': 'Мадсдэйл', 'Dewpider': 'Дьюпайдер', 'Araquanid': 'Аракванид', 'Fomantis': 'Фомантис', 'Lurantis': 'Лурантис', 'Morelull': 'Морелалл', 'Shiinotic': 'Шиинотик', 'Salandit': 'Саландит', 'Salazzle': 'Салаззл', 'Stufful': 'Стаффул', 'Bewear': 'Бевеар', 'Bounsweet': 'Баунсвит', 'Steenee': 'Стини', 'Tsareena': 'Царина', 'Comfey': 'Комфей', 'Oranguru': 'Орангуру', 'Passimian': 'Пассимиан', 'Wimpod': 'Вимпод', 'Golisopod': 'Голизопод', 'Sandygast': 'Сэндигаст', 'Palossand': 'Палоссэнд', 'Pyukumuku': 'Пюкумуку', 'Type: Null': 'Тип: Нуль', 'Silvally': 'Сильвалли', 'Minior': 'Миниор', 'Komala': 'Комала', 'Turtonator': 'Туртонатор', 'Togedemaru': 'Тогедемару', 'Mimikyu': 'Мимикю', 'Bruxish': 'Браксиш', 'Drampa': 'Дрампа', 'Dhelmise': 'Делмайз', 'Jangmo-o': 'Джангмо-о', 'Hakamo-o': 'Хакамо-о', 'Kommo-o': 'Коммо-о', 'Tapu Koko': 'Тапу Коко', 'Tapu Lele': 'Тапу Леле', 'Tapu Bulu': 'Тапу Булу', 'Tapu Fini': 'Тапу Фини', 'Cosmog': 'Космог', 'Cosmoem': 'Космоэм', 'Solgaleo': 'Солгалео', 'Lunala': 'Лунала', 'Nihilego': 'Нихилэго', 'Buzzwole': 'Баззвоул', 'Pheromosa': 'Феромоза', 'Xurkitree': 'Зёркитри', 'Celesteela': 'Селестила', 'Kartana': 'Картана', 'Guzzlord': 'Газзлорд', 'Necrozma': 'Некрозма', 'Magearna': 'Магиана', 'Marshadow': 'Маршедоу', 'Poipole': 'Пойпоул', 'Naganadel': 'Наганадел', 'Stakataka': 'Стакатака', 'Blacephalon': 'Блацефалон', 'Zeraora': 'Зераора', 'Meltan': 'Мелтан', 'Melmetal': 'Мелметал', 'Grookey': 'Груки', 'Thwackey': 'Твеки', 'Rillaboom': 'Риллабум', 'Scorbunny': 'Скорбанни', 'Raboot': 'Рэбут', 'Cinderace': 'Синдерейс', 'Sobble': 'Соббл', 'Drizzile': 'Дриззайл', 'Inteleon': 'Интелеон', 'Skwovet': 'Сквовет', 'Greedent': 'Гридент', 'Rookidee': 'Рукиди', 'Corvisquire': 'Корвисквайр', 'Corviknight': 'Корвинайт', 'Blipbug': 'Блипбаг', 'Dottler': 'Доттлер', 'Orbeetle': 'Орбитл', 'Nickit': 'Никит', 'Thievul': 'Тивул', 'Gossifleur': 'Госсифлёр', 'Eldegoss': 'Элдегосс', 'Wooloo': 'Вулу', 'Dubwool': 'Дабвул', 'Chewtle': 'Чьютл', 'Drednaw': 'Дредно', 'Yamper': 'Ямпер', 'Boltund': 'Болтунд', 'Rolycoly': 'Роликоли', 'Carkol': 'Каркол', 'Coalossal': 'Коалоссал', 'Applin': 'Эпплин', 'Flapple': 'Флэппл', 'Appletun': 'Эпплтан', 'Silicobra': 'Силикобра', 'Sandaconda': 'Сандаконда', 'Cramorant': 'Краморант', 'Arrokuda': 'Аррокуда', 'Barraskewda': 'Барраскюда', 'Toxel': 'Токсел', 'Toxtricity': 'Токстрисити', 'Sizzlipede': 'Сиззлипед', 'Centiskorch': 'Сентискорч', 'Clobbopus': 'Клоббопус', 'Grapploct': 'Грапплокт', 'Sinistea': 'Синисти', 'Polteageist': 'Полтигейст', 'Hatenna': 'Хаттена', 'Hattrem': 'Хаттрем', 'Hatterene': 'Хаттерин', 'Impidimp': 'Импидимп', 'Morgrem': 'Моргрем', 'Grimmsnarl': 'Гриммснарл', 'Obstagoon': 'Обстагун', 'Perrserker': 'Перрсеркер', 'Cursola': 'Кёрсола', "Sirfetch'd": "Сэрфеч'д", 'Mr. Rime': 'Райм', 'Runerigus': 'Рунриг', 'Milcery': 'Милсери', 'Alcremie': 'Алкрими', 'Falinks': 'Фалинкс', 'Pincurchin': 'Пинкёрчин', 'Snom': 'Сном', 'Frosmoth': 'Фросмос', 'Stonjourner': 'Стонджорнер', 'Eiscue': 'Айскью', 'Indeedee': 'Индиди', 'Morpeko': 'Морпеко', 'Cufant': 'Куфант', 'Copperajah': 'Коппераджа', 'Dracozolt': 'Дракозолт', 'Arctozolt': 'Арктозолт', 'Dracovish': 'Драковиш', 'Arctovish': 'Арктовиш', 'Duraludon': 'Дюралудон', 'Dreepy': 'Дрипи', 'Drakloak': 'Драклоук', 'Dragapult': 'Драгапульт', 'Zacian': 'Зациан', 'Zamazenta': 'Замазента', 'Eternatus': 'Этернатий', 'Kubfu': 'Кубфу', 'Urshifu': 'Уршифу', 'Zarude': 'Заруд', 'Regieleki': 'Реджиэлеки', 'Regidrago': 'Реджидраго', 'Glastrier': 'Гластриэ', 'Spectrier': 'Спектриэ', 'Calyrex': 'Калирекс', } function convertType(type) { return Types[type]; } function convertPokemonName(pokemonName) { return PokemonNames[pokemonName]; } function convertPokemonAttributes(bulbapediaParams, pokewikiParams, numberOfTypes) { pokewikiParams.push(bulbapediaParams[1]) // dex number pokewikiParams.push(convertPokemonName(bulbapediaParams[2])) // name var types = []; for (var i = 1; i <= numberOfTypes; i++) { var prefix = 'type' + (i > 1 ? i : '') + '='; types.push(bulbapediaParams[2 + i].startsWith(prefix) ? bulbapediaParams[2 + i].substr(prefix.length) : bulbapediaParams[2 + i]); } if (types.length === 1) types.push(types[0]); pokewikiParams.push(numberOfTypes); for (var index in types) { var type = types[index]; pokewikiParams.push(convertType(type)); } return pokewikiParams; } function convertLearnsetHeaderLine(line) { if (line.indexOf('Learnset') >= 0) { return '==Изучение=='; } if (line.indexOf('By [[Level|leveling up]]') >= 0) { return '===При [[Уровень|повышении уровня]]==='; } if (line.indexOf('By [[TM]]') >= 0 || line.indexOf('By [[HM]]') >= 0 || line.indexOf('By [[TR]]') >= 0) { source = line.split('By ')[1].split('=')[0]; return '===С помощью ' + source + '==='; } return line; } function convertLearnsetLine(line) { var bulbapediaParams = line.substr(2, line.length - 4).split('|'); if (bulbapediaParams[0] === 'Movehead/Level') { return '{{Приёмышапка/уровень|' + convertType(bulbapediaParams[1]) + '|' + bulbapediaParams[2] + '}}'; } if (bulbapediaParams[0] === 'Movehead/TM') { var pokewikiParams = ['Приёмышапка/ТМ', convertType(bulbapediaParams[1])]; for (var i = 2; i < bulbapediaParams.length; i++) { pokewikiParams.push(bulbapediaParams[i] === 'no' ? 'нет' : bulbapediaParams[i]); } return '{{' + pokewikiParams.join('|') + '}}'; } if (bulbapediaParams[0] === 'Movefoot') { var gens = parseInt(bulbapediaParams[2], 10); return '{{Приёмыниз|' + convertType(bulbapediaParams[1]) + '|' + (NUMBER_OF_GENS - gens + 1) + '}}'; } if (!bulbapediaParams[0].startsWith('Moveentry/')) return line; var gens = parseInt(bulbapediaParams[0].split('/')[1], 10); var pokewikiParams = ['Приёмы/Поколение' + (NUMBER_OF_GENS - gens + 1)]; var numberOfTypes = bulbapediaParams[4].startsWith('type2=') ? 2 : 1; pokewikiParams = convertPokemonAttributes(bulbapediaParams, pokewikiParams, numberOfTypes); var levelsParam = bulbapediaParams.slice(6 + numberOfTypes).join('|'); var numberOfParams = pokewikiParams.length + gens; var subParams = ['']; var tagMode = false; var tag = ''; for (var i = 0; i <= levelsParam.length; i++) { var char = i < levelsParam.length ? levelsParam[i] : ''; var prevChar = i > 0 ? levelsParam[i - 1] : ''; if (char === '{' && prevChar === '{') { while (subParams[subParams.length-1].endsWith('{')) { subParams[subParams.length-1] = subParams[subParams.length-1].substr(0, subParams.length - 1); } tagMode = true; tag = ''; } if (tagMode && char === '}' && prevChar === '}') { if (tag.startsWith('Learned upon evolving')) { subParams[subParams.length-1] = subParams[subParams.length-1] + '{{tt|ЭВ|Изучается при эволюции}}'; } else if (subParams[subParams.length-1].startsWith('{{tt|')) { subParams[subParams.length-1] = subParams[subParams.length-1].substr(0, subParams[subParams.length-1].length - 2) + tag + '}}'; } else { subParams[subParams.length-1] = '{{tt|' + subParams[subParams.length-1].replace('{{tt|ЭВ|Изучается при эволюции}}', 'ЭВ') + '|' + tag + '}}'; } tagMode = false; } // <br> is a delimeter between different games in the same gen if (!tagMode && prevChar === '>' && subParams[subParams.length-1].endsWith('<br>')) { subParams[subParams.length-1] = subParams[subParams.length-1].replace('<br>', ''); subParams.push(''); } if (!(char in {'{':1, '}':1})) { if (tagMode) { tag = (char === '|' ? '' : tag + char); } else { if (!(char in {'|':1, '':1})) { subParams[subParams.length-1] = subParams[subParams.length-1] + char; } else { var param = subParams.join('<br>'); subParams = ['']; if (param.startsWith('STAB=') || param.startsWith('form=')) continue; if (param.length === 0) param = '-'; param = param.replace('Evo.', 'ЭВ') pokewikiParams.push(param); if (pokewikiParams.length >= numberOfParams) break; } } } } while (pokewikiParams.length < numberOfParams) { pokewikiParams.push('-'); } return '{{' + pokewikiParams.join('|') + '}}'; } function convertLearnset(bulbapediaTable) { var pokewikiTable = []; var lines = bulbapediaTable.split('\n'); for (var index in lines) { var line = lines[index]; if (line.startsWith('=') && line.endsWith('=')) { pokewikiTable.push(convertLearnsetHeaderLine(line)); } else if (line.startsWith('{{') && line.endsWith('}}')) { pokewikiTable.push(convertLearnsetLine(line)); } else pokewikiTable.push(line); } return pokewikiTable.join('\n'); }