add functionality to translate levels and stage loader presets

This commit is contained in:
Matteias Collet 2020-08-08 18:37:23 +02:00
parent 56cb69d642
commit 1e142f4f2f
4 changed files with 332 additions and 148 deletions

View file

@ -1,15 +1,15 @@
<template>
<div class="select-wrapper">
<select @change="onValueChanged" autocomplete="off">
<option v-if="placeholder != null" value="placeholder" selected disabled>{{
placeholder
}}</option>
<optgroup v-for="optGroup in optGroups" :label="optGroup.label">
<option v-if="placeholder != null" value="placeholder" selected disabled>
{{ placeholder }}
</option>
<optgroup v-for="optGroup in optGroups" :label="getLabel(optGroup.label)">
<option
v-for="option in optGroup.options"
:value="option.value"
:selected="selectedValue && option.value === selectedValue"
>{{ option.label }}</option
>{{ getLabel(option.label) }}</option
>
</optgroup>
</select>
@ -17,6 +17,8 @@
</template>
<script>
import { translate } from '../i18n/localeHelper';
export default {
props: {
selectedValue: { type: String },
@ -31,6 +33,9 @@ export default {
};
},
methods: {
getLabel(key) {
return translate(key, this.$lang);
},
onValueChanged(e) {
this.onChange(e.target.value);
},

View file

@ -1,163 +1,163 @@
[
{
"label": "Delfino Plaza",
"label": "stageloader.levels.delfinoplaza.header",
"options": [
{ "value": "01FF", "label": "Plaza - Current" },
{ "value": "0100", "label": "Plaza - Bianco unlock" },
{ "value": "0101", "label": "Plaza - Peach chase" },
{ "value": "0105", "label": "Plaza - Ricco/Gelato unlocks" },
{ "value": "0106", "label": "Plaza - Peaceful" },
{ "value": "0107", "label": "Plaza - Pinna unlock" },
{ "value": "0108", "label": "Plaza - Yoshi/nozzles unlocks" },
{ "value": "0109", "label": "Plaza - Flooded" },
{ "value": "0102", "label": "Plaza - Post-Corona" }
{ "value": "01FF", "label": "stageloader.levels.delfinoplaza.current" },
{ "value": "0100", "label": "stageloader.levels.delfinoplaza.biancounlock" },
{ "value": "0101", "label": "stageloader.levels.delfinoplaza.peachchase" },
{ "value": "0105", "label": "stageloader.levels.delfinoplaza.riccounlock" },
{ "value": "0106", "label": "stageloader.levels.delfinoplaza.peaceful" },
{ "value": "0107", "label": "stageloader.levels.delfinoplaza.pinnaunlock" },
{ "value": "0108", "label": "stageloader.levels.delfinoplaza.yoshiunlock" },
{ "value": "0109", "label": "stageloader.levels.delfinoplaza.flooded" },
{ "value": "0102", "label": "stageloader.levels.delfinoplaza.postcorona" }
]
},
{
"label": "Delfino Plaza sublevels",
"label": "stageloader.levels.delfinosublevels.header",
"options": [
{ "value": "0000", "label": "Airstrip" },
{ "value": "1400", "label": "Airstrip (red coins)" },
{ "value": "1500", "label": "Slide" },
{ "value": "1600", "label": "Pachinko" },
{ "value": "1700", "label": "Grass pipe" },
{ "value": "1800", "label": "Lily Pad Ride" },
{ "value": "1D00", "label": "Jail secret" }
{ "value": "0000", "label": "stageloader.levels.delfinosublevels.airstrip" },
{ "value": "1400", "label": "stageloader.levels.delfinosublevels.airstripreds" },
{ "value": "1500", "label": "stageloader.levels.delfinosublevels.slide" },
{ "value": "1600", "label": "stageloader.levels.delfinosublevels.pachinko" },
{ "value": "1700", "label": "stageloader.levels.delfinosublevels.grasspipe" },
{ "value": "1800", "label": "stageloader.levels.delfinosublevels.lilypad" },
{ "value": "1D00", "label": "stageloader.levels.delfinosublevels.jail" }
]
},
{
"label": "Bianco Hills",
"label": "stageloader.levels.bianco.header",
"options": [
{ "value": "0200", "label": "Bianco 1" },
{ "value": "0201", "label": "Bianco 2" },
{ "value": "0202", "label": "Bianco 3" },
{ "value": "0203", "label": "Bianco 4" },
{ "value": "0204", "label": "Bianco 5" },
{ "value": "0205", "label": "Bianco 6" },
{ "value": "0206", "label": "Bianco 7" },
{ "value": "0207", "label": "Bianco 8" }
{ "value": "0200", "label": "stageloader.levels.bianco.1" },
{ "value": "0201", "label": "stageloader.levels.bianco.2" },
{ "value": "0202", "label": "stageloader.levels.bianco.3" },
{ "value": "0203", "label": "stageloader.levels.bianco.4" },
{ "value": "0204", "label": "stageloader.levels.bianco.5" },
{ "value": "0205", "label": "stageloader.levels.bianco.6" },
{ "value": "0206", "label": "stageloader.levels.bianco.7" },
{ "value": "0207", "label": "stageloader.levels.bianco.8" }
]
},
{
"label": "Ricco Harbor",
"label": "stageloader.levels.ricco.header",
"options": [
{ "value": "0300", "label": "Ricco 1" },
{ "value": "0301", "label": "Ricco 2" },
{ "value": "0302", "label": "Ricco 3" },
{ "value": "0303", "label": "Ricco 4" },
{ "value": "0304", "label": "Ricco 5" },
{ "value": "0305", "label": "Ricco 6" },
{ "value": "0306", "label": "Ricco 7" },
{ "value": "0307", "label": "Ricco 8" }
{ "value": "0300", "label": "stageloader.levels.ricco.1" },
{ "value": "0301", "label": "stageloader.levels.ricco.2" },
{ "value": "0302", "label": "stageloader.levels.ricco.3" },
{ "value": "0303", "label": "stageloader.levels.ricco.4" },
{ "value": "0304", "label": "stageloader.levels.ricco.5" },
{ "value": "0305", "label": "stageloader.levels.ricco.6" },
{ "value": "0306", "label": "stageloader.levels.ricco.7" },
{ "value": "0307", "label": "stageloader.levels.ricco.8" }
]
},
{
"label": "Gelato Beach",
"label": "stageloader.levels.gelato.header",
"options": [
{ "value": "0400", "label": "Gelato 1" },
{ "value": "0401", "label": "Gelato 2" },
{ "value": "0402", "label": "Gelato 3" },
{ "value": "0403", "label": "Gelato 4" },
{ "value": "0404", "label": "Gelato 5" },
{ "value": "0405", "label": "Gelato 6" },
{ "value": "0406", "label": "Gelato 7" },
{ "value": "0407", "label": "Gelato 8" }
{ "value": "0400", "label": "stageloader.levels.gelato.1" },
{ "value": "0401", "label": "stageloader.levels.gelato.2" },
{ "value": "0402", "label": "stageloader.levels.gelato.3" },
{ "value": "0403", "label": "stageloader.levels.gelato.4" },
{ "value": "0404", "label": "stageloader.levels.gelato.5" },
{ "value": "0405", "label": "stageloader.levels.gelato.6" },
{ "value": "0406", "label": "stageloader.levels.gelato.7" },
{ "value": "0407", "label": "stageloader.levels.gelato.8" }
]
},
{
"label": "Pinna Park",
"label": "stageloader.levels.pinna.header",
"options": [
{ "value": "0500", "label": "Pinna 1" },
{ "value": "0501", "label": "Pinna 2" },
{ "value": "0502", "label": "Pinna 3" },
{ "value": "0503", "label": "Pinna 4" },
{ "value": "0504", "label": "Pinna 5" },
{ "value": "0505", "label": "Pinna 6" },
{ "value": "0506", "label": "Pinna 7" },
{ "value": "0507", "label": "Pinna 8" }
{ "value": "0500", "label": "stageloader.levels.pinna.1" },
{ "value": "0501", "label": "stageloader.levels.pinna.2" },
{ "value": "0502", "label": "stageloader.levels.pinna.3" },
{ "value": "0503", "label": "stageloader.levels.pinna.4" },
{ "value": "0504", "label": "stageloader.levels.pinna.5" },
{ "value": "0505", "label": "stageloader.levels.pinna.6" },
{ "value": "0506", "label": "stageloader.levels.pinna.7" },
{ "value": "0507", "label": "stageloader.levels.pinna.8" }
]
},
{
"label": "Sirena Beach",
"label": "stageloader.levels.sirena.header",
"options": [
{ "value": "0600", "label": "Sirena 1" },
{ "value": "0601", "label": "Sirena 2" },
{ "value": "0602", "label": "Sirena 3" },
{ "value": "0603", "label": "Sirena 4" },
{ "value": "0604", "label": "Sirena 5" },
{ "value": "0605", "label": "Sirena 6" },
{ "value": "0606", "label": "Sirena 7" },
{ "value": "0607", "label": "Sirena 8" }
{ "value": "0600", "label": "stageloader.levels.sirena.1" },
{ "value": "0601", "label": "stageloader.levels.sirena.2" },
{ "value": "0602", "label": "stageloader.levels.sirena.3" },
{ "value": "0603", "label": "stageloader.levels.sirena.4" },
{ "value": "0604", "label": "stageloader.levels.sirena.5" },
{ "value": "0605", "label": "stageloader.levels.sirena.6" },
{ "value": "0606", "label": "stageloader.levels.sirena.7" },
{ "value": "0607", "label": "stageloader.levels.sirena.8" }
]
},
{
"label": "Noki Bay",
"label": "stageloader.levels.noki.header",
"options": [
{ "value": "0900", "label": "Noki 1" },
{ "value": "0901", "label": "Noki 2" },
{ "value": "0902", "label": "Noki 3" },
{ "value": "0903", "label": "Noki 4" },
{ "value": "0904", "label": "Noki 5" },
{ "value": "0905", "label": "Noki 6" },
{ "value": "0906", "label": "Noki 7" },
{ "value": "0907", "label": "Noki 8" }
{ "value": "0900", "label": "stageloader.levels.noki.1" },
{ "value": "0901", "label": "stageloader.levels.noki.2" },
{ "value": "0902", "label": "stageloader.levels.noki.3" },
{ "value": "0903", "label": "stageloader.levels.noki.4" },
{ "value": "0904", "label": "stageloader.levels.noki.5" },
{ "value": "0905", "label": "stageloader.levels.noki.6" },
{ "value": "0906", "label": "stageloader.levels.noki.7" },
{ "value": "0907", "label": "stageloader.levels.noki.8" }
]
},
{
"label": "Pianta Village",
"label": "stageloader.levels.pianta.header",
"options": [
{ "value": "0800", "label": "Pianta 1" },
{ "value": "0801", "label": "Pianta 2" },
{ "value": "0802", "label": "Pianta 3" },
{ "value": "0803", "label": "Pianta 4" },
{ "value": "0804", "label": "Pianta 5" },
{ "value": "0805", "label": "Pianta 6" },
{ "value": "0806", "label": "Pianta 7" },
{ "value": "0807", "label": "Pianta 8" }
{ "value": "0800", "label": "stageloader.levels.pianta.1" },
{ "value": "0801", "label": "stageloader.levels.pianta.2" },
{ "value": "0802", "label": "stageloader.levels.pianta.3" },
{ "value": "0803", "label": "stageloader.levels.pianta.4" },
{ "value": "0804", "label": "stageloader.levels.pianta.5" },
{ "value": "0805", "label": "stageloader.levels.pianta.6" },
{ "value": "0806", "label": "stageloader.levels.pianta.7" },
{ "value": "0807", "label": "stageloader.levels.pianta.8" }
]
},
{
"label": "Secret areas",
"label": "stageloader.levels.secrets.header",
"options": [
{ "value": "2F00", "label": "Bianco 3 secret" },
{ "value": "2E00", "label": "Bianco 6 secret" },
{ "value": "3000", "label": "Ricco 4 secret" },
{ "value": "2000", "label": "Gelato 1 secret" },
{ "value": "3200", "label": "Pinna 2 secret" },
{ "value": "2900", "label": "Pinna 6 secret" },
{ "value": "3300", "label": "Sirena 2 secret" },
{ "value": "2800", "label": "Sirena 4 secret" },
{ "value": "1F00", "label": "Noki 6 secret" },
{ "value": "2A00", "label": "Pianta 5 secret" }
{ "value": "2F00", "label": "stageloader.levels.secrets.bianco3" },
{ "value": "2E00", "label": "stageloader.levels.secrets.bianco6" },
{ "value": "3000", "label": "stageloader.levels.secrets.ricco4" },
{ "value": "2000", "label": "stageloader.levels.secrets.gelato1" },
{ "value": "3200", "label": "stageloader.levels.secrets.pinna2" },
{ "value": "2900", "label": "stageloader.levels.secrets.pinna6" },
{ "value": "3300", "label": "stageloader.levels.secrets.sirena2" },
{ "value": "2800", "label": "stageloader.levels.secrets.sirena4" },
{ "value": "1F00", "label": "stageloader.levels.secrets.noki6" },
{ "value": "2A00", "label": "stageloader.levels.secrets.pianta5" }
]
},
{
"label": "Sublevels",
"label": "stageloader.levels.sublevels.header",
"options": [
{ "value": "3700", "label": "Petey Piranha fight (Bianco 2)" },
{ "value": "3B00", "label": "Gooper Blooper fight (Ricco 1)" },
{ "value": "1E00", "label": "Race course (Ricco 2)" },
{ "value": "2100", "label": "Sand bird (Gelato 4)" },
{ "value": "3A01", "label": "Mecha-Bowser fight (Pinna 1)" },
{ "value": "3A00", "label": "Rollercoaster (Pinna 8)" },
{ "value": "0E00", "label": "Casino Delfino (Sirena 4)" },
{ "value": "0E01", "label": "Casino Delfino (Sirena 5)" },
{ "value": "3800", "label": "King Boo fight (Sirena 5)" },
{ "value": "2C00", "label": "Bottle (Noki 3)" },
{ "value": "3900", "label": "Deep Sea of Mare (Noki 4)" },
{ "value": "1000", "label": "Deep Sea of Mare (Noki 8)" }
{ "value": "3700", "label": "stageloader.levels.sublevels.petey" },
{ "value": "3B00", "label": "stageloader.levels.sublevels.gooperblooper" },
{ "value": "1E00", "label": "stageloader.levels.sublevels.sewers" },
{ "value": "2100", "label": "stageloader.levels.sublevels.sandbird" },
{ "value": "3A01", "label": "stageloader.levels.sublevels.mecha" },
{ "value": "3A00", "label": "stageloader.levels.sublevels.rollercoaster" },
{ "value": "0E00", "label": "stageloader.levels.sublevels.casino1" },
{ "value": "0E01", "label": "stageloader.levels.sublevels.casino2" },
{ "value": "3800", "label": "stageloader.levels.sublevels.kingboo" },
{ "value": "2C00", "label": "stageloader.levels.sublevels.bottle" },
{ "value": "3900", "label": "stageloader.levels.sublevels.eel" },
{ "value": "1000", "label": "stageloader.levels.sublevels.nokireds" }
]
},
{
"label": "Miscellaneous",
"label": "stageloader.levels.misc.header",
"options": [
{ "value": "02FF", "label": "Bianco episode selection" },
{ "value": "03FF", "label": "Ricco episode selection" },
{ "value": "04FF", "label": "Gelato episode selection" },
{ "value": "05FF", "label": "Pinna episode selection" },
{ "value": "06FF", "label": "Sirena episode selection" },
{ "value": "09FF", "label": "Noki episode selection" },
{ "value": "08FF", "label": "Pianta episode selection" }
{ "value": "02FF", "label": "stageloader.levels.misc.biancoepisodeselect" },
{ "value": "03FF", "label": "stageloader.levels.misc.riccoepisodeselect" },
{ "value": "04FF", "label": "stageloader.levels.misc.gelatoepisodeselect" },
{ "value": "05FF", "label": "stageloader.levels.misc.pinnaepisodeselect" },
{ "value": "06FF", "label": "stageloader.levels.misc.sirenaepisodeselect" },
{ "value": "09FF", "label": "stageloader.levels.misc.nokiepisodeselect" },
{ "value": "08FF", "label": "stageloader.levels.misc.piantaepisodeselect" }
]
}
]

View file

@ -1,104 +1,104 @@
[
{
"label": "Full-game categories, minimal plaza",
"label": "stageloader.presets.fullgameminimalplaza.header",
"options": [
{
"value": "020002020203020404000406080008010802080308040805080605000501050205030502050603000301030203030304030503060205020606000601060206030604060506060900090109020903090409050906;3400",
"label": "Fast Any% usual route"
"label": "stageloader.presets.fullgameminimalplaza.fapnormal"
},
{
"value": "020002020203020404000406080008010802080308040805080605000501050205030502050602050206060006010602060306040605060609000901090209030904090509060300030103020303030403050306;3400",
"label": "Fast Any% Ricco late"
"label": "stageloader.presets.fullgameminimalplaza.fapriccolate"
},
{
"value": "020002020203020408000801080208030804080508060500050105020503050405050506030003010302030303040305030602050206060006010602060306040605060609000901090209030904090509060400040104020403040404050406;3400",
"label": "Fast Any% No Major Skips"
"label": "stageloader.presets.fullgameminimalplaza.fap49"
},
{
"value": "02000201020202030800080108020803080408050806080705000501050205030504050505060507030003010302030303040305030603070204020502060207060006010602060306040605060606070900090109020903090409050906090704000401040204030404040304050406;3400",
"label": "Fast 58 Shines / All Episodes"
"label": "stageloader.presets.fullgameminimalplaza.fap58"
},
{
"value": "02000201020202020800080108020803080408040804080508060807080705000501050105020503050405040505050505060507030003010301030203030303030403050305030603070203020402050205020502060207060006010601060206030603060306040605060606070900090109010901090209030904090509050906090704000400040004010402040304050404040304020406;3400",
"label": "Fast 79 Shines / All Level Shines"
"label": "stageloader.presets.fullgameminimalplaza.fap79"
},
{
"value": "020002020203020404000406080008010802080308040805080605000501050105020503050405050506030003010302030303040305030602050206060006010602060306040605060609000901090209030904090509060102160001021400010201021D00010201020102010201020102010204060405040404030402040204010400040015000207020502070205020003020307030303010507050705051700060706030603060109070905090109010807080708040804;3400",
"label": "Fast 96 Shines / All Shines, No Blues"
"label": "stageloader.presets.fullgameminimalplaza.fap96"
}
]
},
{
"label": "Full-game categories",
"label": "stageloader.presets.fullgamecategories.header",
"options": [
{
"value": "00000100020002020105020302040105040004060106080008010802080308040805080601070108050005010502050305020506010803000301030203030304030503060108020502060108060006010602060306040605060601080900090109020903090409050906;0109",
"label": "Any% usual route"
"label": "stageloader.presets.fullgamecategories.anyp"
},
{
"value": "00000100020002020105020302040105080008010802080308040805080601070108050005010502050305040505050601080300030103020303030403050306010802050206010806000601060206030604060506060108090009010902090309040905090601080400040104020403040404050406;0109",
"label": "Any% No Major Skips"
"label": "stageloader.presets.fullgamecategories.49"
},
{
"value": "0000010002000201010502020203010508000801080208030804080508060807010701080500050105020503050405050506050701080300030103020303030403050306030701080204020502060207010806000601060206030604060506060607010809000901090209030904090509060907010804000401040204030404040304050406;0109",
"label": "58 Shines / All Episodes"
"label": "stageloader.presets.fullgamecategories.58"
},
{
"value": "0000010002000201010502020202010508000801080208030804080408040805080608070807010701080500050105010502050305040504050505050506050701080300030103010302030303030304030503050306030701080203020402050205020502060207010806000601060106020603060306030604060506060607010809000901090109010902090309040905090509060907010804000400040004010402040304050404040304020406;0109",
"label": "79 Shines / All Level Shines"
"label": "stageloader.presets.fullgamecategories.79"
},
{
"value": "0000010002000202010502030204010504000406010608000801080208030804080508060107010805000501050105020503050405050506010803000301030203030304030503060108020502060108010806000601060206030604060506060108090009010902090309040905090601FF0102010201020102010201020102010201020102010201020102010204060405040404030402040204010400040001020102020702050207020502000102030203070303030101020507050705050102010206070603060306010102090709050901090101020807080708040804;0102",
"label": "96 Shines / All Shines, No Blues"
"label": "stageloader.presets.fullgamecategories.96"
},
{
"value": "0000010002000202010502030204010504000406010608000801080208030804080508060107010805000501050105020503050405050506010803000301030203030304030503060108020502060108010806000601060206030604060506060108090009010902090309040905090601FF01020102010201020102010201020102010201020102010201020404040304020405040004000401040204050102010202000207020702070207010209010905090509070102080408040807080701020505050705070102010206010603060606070102010203010303030703070102;0102",
"label": "120 Shines / All Shines, All Blues"
"label": "stageloader.presets.fullgamecategories.120"
}
]
},
{
"label": "Individual Worlds",
"label": "stageloader.presets.iw.header",
"options": [
{ "value": "020002020203020402050206", "label": "Bianco Hills" },
{ "value": "0300030103020303030403050306", "label": "Ricco Harbor" },
{ "value": "0400040104020403040404050406", "label": "Gelato Beach" },
{ "value": "050005010502050305020506", "label": "Pinna Park" },
{ "value": "0600060106020603060406050606", "label": "Sirena Beach" },
{ "value": "0900090109020903090409050906", "label": "Noki Bay" },
{ "value": "0800080108020803080408050806", "label": "Pianta Village" }
{ "value": "020002020203020402050206", "label": "stageloader.presets.iw.bianco" },
{ "value": "0300030103020303030403050306", "label": "stageloader.presets.iw.ricco" },
{ "value": "0400040104020403040404050406", "label": "stageloader.presets.iw.gelato" },
{ "value": "050005010502050305020506", "label": "stageloader.presets.iw.pinna" },
{ "value": "0600060106020603060406050606", "label": "stageloader.presets.iw.sirena" },
{ "value": "0900090109020903090409050906", "label": "stageloader.presets.iw.noki" },
{ "value": "0800080108020803080408050806", "label": "stageloader.presets.iw.pianta" }
]
},
{
"label": "All Shines IWs",
"label": "stageloader.presets.iwallshines.header",
"options": [
{
"value": "02000201020202020203020402050205020502060207",
"label": "Bianco Hills"
"label": "stageloader.presets.iwallshines.bianco"
},
{
"value": "03000301030103020303030303040305030503060307",
"label": "Ricco Harbor"
"label": "stageloader.presets.iwallshines.ricco"
},
{
"value": "04000406040404060401040504000400040204020403",
"label": "Gelato Beach"
"label": "stageloader.presets.iwallshines.gelato"
},
{
"value": "05000501050105020503050405040505050505060507",
"label": "Pinna Park"
"label": "stageloader.presets.iwallshines.pinna"
},
{
"value": "06000601060106020603060306030604060506060607",
"label": "Sirena Beach"
"label": "stageloader.presets.iwallshines.sirena"
},
{
"value": "09000901090109020903090409050905090609060907",
"label": "Noki Bay"
"label": "stageloader.presets.iwallshines.noki"
},
{
"value": "08000801080208030804080408040805080608070807",
"label": "Pianta Village"
"label": "stageloader.presets.iwallshines.pianta"
}
]
}

View file

@ -79,6 +79,185 @@
"3C00": "Load the Bowser fight"
}
},
"levels": {
"delfinoplaza": {
"header": "Delfino Plaza",
"current": "Plaza - Current",
"biancounlock": "Plaza - Bianco Unlock",
"peachchase": "Plaza - Peach Chase",
"riccounlock": "Plaza - Ricco / Gelato unlocks",
"peaceful": "Plaza - Peaceful",
"pinnaunlock": "Plaza - Pinna Unlock",
"yoshiunlock": "Plaza - Yoshi / nozzles unlocks",
"flooded": "Plaza - Flooded",
"postcorona": "Plaza - Post-Corona"
},
"delfinosublevels": {
"header": "Delfino Plaza Sublevels",
"airstrip": "Airstrip",
"airstripreds": "Airstrip (red coins)",
"slide": "Slide",
"pachinko": "Pachinko",
"grasspipe": "Grass pipe",
"lilypad": "Lily Pad Ride",
"jail": "Jail Secret"
},
"secrets": {
"header": "Secret Areas",
"bianco3": "Bianco 3 Secret",
"bianco6": "Bianco 6 Secret",
"ricco4": "Ricco 4 Secret",
"gelato1": "Gelato 1 Secret",
"pinna2": "Pinna 2 Secret",
"pinna6": "Pinna 6 Secret",
"sirena2": "Sirena 2 Secret",
"sirena4": "Sirena 4 Secret",
"noki6": "Noki 6 Secret",
"pianta5": "Pianta 5 Secret"
},
"sublevels": {
"header": "Sublevels",
"petey": "Petey Piranha fight (Bianco 2)",
"gooperblooper": "Gooper Blooper fight (Ricco 1)",
"sewers": "Race course (Ricco 2)",
"sandbird": "Sand bird (Gelato 4)",
"mecha": "Mecha-Bowser fight (Pinna 1)",
"rollercoaster": "Rollercoaster (Pinna 8)",
"casino1": "Casino Delfino (Sirena 4)",
"casino2": "Casino Delfino (Sirena 5)",
"kingboo": "King Boo fight (Sirena 5)",
"bottle": "Bottle (Noki 3)",
"eel": "Deep Sea of Mare (Noki 4)",
"nokireds": "Deep Sea of Mare (Noki 8)"
},
"misc": {
"header": "Miscelleaneous",
"biancoepisodeselect": "Bianco episode selection",
"riccoepisodeselect": "Ricco episode selection",
"gelatoepisodeselect": "Gelato episode selection",
"pinnaepisodeselect": "Pinna episode selection",
"sirenaepisodeselect": "Sirena episode selection",
"nokiepisodeselect": "Noki episode selection",
"piantaepisodeselect": "Pianta episode selection"
},
"bianco": {
"header": "Bianco Hills",
"1": "Bianco 1",
"2": "Bianco 2",
"3": "Bianco 3",
"4": "Bianco 4",
"5": "Bianco 5",
"6": "Bianco 6",
"7": "Bianco 7",
"8": "Bianco 8"
},
"ricco": {
"header": "Ricco Harbor",
"1": "Ricco 1",
"2": "Ricco 2",
"3": "Ricco 3",
"4": "Ricco 4",
"5": "Ricco 5",
"6": "Ricco 6",
"7": "Ricco 7",
"8": "Ricco 8"
},
"gelato": {
"header": "Gelato Beach",
"1": "Gelato 1",
"2": "Gelato 2",
"3": "Gelato 3",
"4": "Gelato 4",
"5": "Gelato 5",
"6": "Gelato 6",
"7": "Gelato 7",
"8": "Gelato 8"
},
"pinna": {
"header": "Pinna Park",
"1": "Pinna 1",
"2": "Pinna 2",
"3": "Pinna 3",
"4": "Pinna 4",
"5": "Pinna 5",
"6": "Pinna 6",
"7": "Pinna 7",
"8": "Pinna 8"
},
"sirena": {
"header": "Sirena Beach",
"1": "Sirena 1",
"2": "Sirena 2",
"3": "Sirena 3",
"4": "Sirena 4",
"5": "Sirena 5",
"6": "Sirena 6",
"7": "Sirena 7",
"8": "Sirena 8"
},
"noki": {
"header": "Noki Bay",
"1": "Noki 1",
"2": "Noki 2",
"3": "Noki 3",
"4": "Noki 4",
"5": "Noki 5",
"6": "Noki 6",
"7": "Noki 7",
"8": "Noki 8"
},
"pianta": {
"header": "Pianta Village",
"1": "Pianta 1",
"2": "Pianta 2",
"3": "Pianta 3",
"4": "Pianta 4",
"5": "Pianta 5",
"6": "Pianta 6",
"7": "Pianta 7",
"8": "Pianta 8"
}
},
"presets": {
"fullgameminimalplaza": {
"header": "Full-game categories, minimal plaza",
"fapnormal": "Fast Any% usual route",
"fapriccolate": "Fast Any% Ricco late",
"fap49": "Fast Any% No Major Skips",
"fap58": "Fast 58 Shines / All Episodes",
"fap79": "Fast 79 Shines / All Level Shines",
"fap96": "Fast 96 Shines / All Shines, No Blues"
},
"fullgamecategories": {
"header": "Full-game categories",
"anyp": "Any% usual route",
"49": "Any% No Major Skips",
"58": "58 Shines / All Episodes",
"79": "79 Shines / All Level Shines",
"96": "96 Shines / All Shines, No Blues",
"120": "120 Shines / All Shines, All Blues"
},
"iw": {
"header": "Individual Worlds",
"bianco": "Bianco Hills",
"ricco": "Ricco Harbor",
"gelato": "Gelato Beach",
"pinna": "Pinna Park",
"sirena": "Sirena Beach",
"noki": "Noki Bay",
"pianta": "Pianta Village"
},
"iwallshines": {
"header": "Individual Worlds",
"bianco": "Bianco Hills",
"ricco": "Ricco Harbor",
"gelato": "Gelato Beach",
"pinna": "Pinna Park",
"sirena": "Sirena Beach",
"noki": "Noki Bay",
"pianta": "Pianta Village"
}
},
"levelselectplaceholder": "Choose a level..",
"loadpresetplaceholder": "Load a preset..",
"route": "Route",