diff --git a/public/images/types_de.json b/public/images/types_de.json new file mode 100644 index 00000000000..914bdf7dfea --- /dev/null +++ b/public/images/types_de.json @@ -0,0 +1,440 @@ +{ + "textures": [ + { + "image": "types_de.png", + "format": "RGBA8888", + "size": { + "w": 32, + "h": 280 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 32, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 32, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 32, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 32, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 32, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 32, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 32, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 32, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 32, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 32, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 32, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 32, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 32, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 32, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 32, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 32, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 32, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 32, + "h": 14 + } + }, + { + "filename": "stellar", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 266, + "w": 32, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$" + } +} diff --git a/public/images/types_de.png b/public/images/types_de.png new file mode 100644 index 00000000000..8b644f1041c Binary files /dev/null and b/public/images/types_de.png differ diff --git a/public/images/types_es.json b/public/images/types_es.json new file mode 100644 index 00000000000..0fb922e8939 --- /dev/null +++ b/public/images/types_es.json @@ -0,0 +1,440 @@ +{ + "textures": [ + { + "image": "types_es.png", + "format": "RGBA8888", + "size": { + "w": 32, + "h": 280 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 32, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 32, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 32, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 32, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 32, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 32, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 32, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 32, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 32, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 32, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 32, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 32, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 32, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 32, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 32, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 32, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 32, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 32, + "h": 14 + } + }, + { + "filename": "stellar", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 266, + "w": 32, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$" + } +} diff --git a/public/images/types_es.png b/public/images/types_es.png new file mode 100644 index 00000000000..8a321e515c4 Binary files /dev/null and b/public/images/types_es.png differ diff --git a/public/images/types_fr.json b/public/images/types_fr.json new file mode 100644 index 00000000000..354df8ed2d0 --- /dev/null +++ b/public/images/types_fr.json @@ -0,0 +1,440 @@ +{ + "textures": [ + { + "image": "types_fr.png", + "format": "RGBA8888", + "size": { + "w": 32, + "h": 280 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 32, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 32, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 32, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 32, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 32, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 32, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 32, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 32, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 32, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 32, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 32, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 32, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 32, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 32, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 32, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 32, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 32, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 32, + "h": 14 + } + }, + { + "filename": "stellar", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 266, + "w": 32, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$" + } +} diff --git a/public/images/types_fr.png b/public/images/types_fr.png new file mode 100644 index 00000000000..8b644f1041c Binary files /dev/null and b/public/images/types_fr.png differ diff --git a/public/images/types_it.json b/public/images/types_it.json new file mode 100644 index 00000000000..684c37ac6fb --- /dev/null +++ b/public/images/types_it.json @@ -0,0 +1,440 @@ +{ + "textures": [ + { + "image": "types_it.png", + "format": "RGBA8888", + "size": { + "w": 32, + "h": 280 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 32, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 32, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 32, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 32, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 32, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 32, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 32, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 32, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 32, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 32, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 32, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 32, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 32, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 32, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 32, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 32, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 32, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 32, + "h": 14 + } + }, + { + "filename": "stellar", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 266, + "w": 32, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$" + } +} diff --git a/public/images/types_it.png b/public/images/types_it.png new file mode 100644 index 00000000000..8b644f1041c Binary files /dev/null and b/public/images/types_it.png differ diff --git a/public/images/types_pt_BR.json b/public/images/types_pt_BR.json new file mode 100644 index 00000000000..932d316fd30 --- /dev/null +++ b/public/images/types_pt_BR.json @@ -0,0 +1,440 @@ +{ + "textures": [ + { + "image": "types_pt_BR.png", + "format": "RGBA8888", + "size": { + "w": 32, + "h": 280 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 32, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 32, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 32, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 32, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 32, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 32, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 32, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 32, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 32, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 32, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 32, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 32, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 32, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 32, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 32, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 32, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 32, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 32, + "h": 14 + } + }, + { + "filename": "stellar", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 266, + "w": 32, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$" + } +} diff --git a/public/images/types_pt_BR.png b/public/images/types_pt_BR.png new file mode 100644 index 00000000000..8b644f1041c Binary files /dev/null and b/public/images/types_pt_BR.png differ diff --git a/public/images/types_zh_CN.json b/public/images/types_zh_CN.json new file mode 100644 index 00000000000..4cd0135a677 --- /dev/null +++ b/public/images/types_zh_CN.json @@ -0,0 +1,440 @@ +{ + "textures": [ + { + "image": "types_zh_CN.png", + "format": "RGBA8888", + "size": { + "w": 32, + "h": 280 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 32, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 32, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 32, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 32, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 32, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 32, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 32, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 32, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 32, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 32, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 32, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 32, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 32, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 32, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 32, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 32, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 32, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 32, + "h": 14 + } + }, + { + "filename": "stellar", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 266, + "w": 32, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$" + } +} diff --git a/public/images/types_zh_CN.png b/public/images/types_zh_CN.png new file mode 100644 index 00000000000..8b644f1041c Binary files /dev/null and b/public/images/types_zh_CN.png differ diff --git a/public/images/ui/legacy/starter_select_bg_de.png b/public/images/ui/legacy/starter_select_bg_de.png new file mode 100644 index 00000000000..a94e470df0d Binary files /dev/null and b/public/images/ui/legacy/starter_select_bg_de.png differ diff --git a/public/images/ui/legacy/starter_select_bg_es.png b/public/images/ui/legacy/starter_select_bg_es.png new file mode 100644 index 00000000000..29aafa8ee62 Binary files /dev/null and b/public/images/ui/legacy/starter_select_bg_es.png differ diff --git a/public/images/ui/legacy/starter_select_bg_fr.png b/public/images/ui/legacy/starter_select_bg_fr.png new file mode 100644 index 00000000000..a94e470df0d Binary files /dev/null and b/public/images/ui/legacy/starter_select_bg_fr.png differ diff --git a/public/images/ui/legacy/starter_select_bg_it.png b/public/images/ui/legacy/starter_select_bg_it.png new file mode 100644 index 00000000000..a94e470df0d Binary files /dev/null and b/public/images/ui/legacy/starter_select_bg_it.png differ diff --git a/public/images/ui/legacy/starter_select_bg_pt_BR.png b/public/images/ui/legacy/starter_select_bg_pt_BR.png new file mode 100644 index 00000000000..a94e470df0d Binary files /dev/null and b/public/images/ui/legacy/starter_select_bg_pt_BR.png differ diff --git a/public/images/ui/legacy/starter_select_bg_zh_CN.png b/public/images/ui/legacy/starter_select_bg_zh_CN.png new file mode 100644 index 00000000000..a94e470df0d Binary files /dev/null and b/public/images/ui/legacy/starter_select_bg_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_bg_de.png b/public/images/ui/legacy/summary_bg_de.png new file mode 100644 index 00000000000..0c10eb2b18a Binary files /dev/null and b/public/images/ui/legacy/summary_bg_de.png differ diff --git a/public/images/ui/legacy/summary_bg_es.png b/public/images/ui/legacy/summary_bg_es.png new file mode 100644 index 00000000000..e7b4b9bb0f9 Binary files /dev/null and b/public/images/ui/legacy/summary_bg_es.png differ diff --git a/public/images/ui/legacy/summary_bg_fr.png b/public/images/ui/legacy/summary_bg_fr.png new file mode 100644 index 00000000000..0c10eb2b18a Binary files /dev/null and b/public/images/ui/legacy/summary_bg_fr.png differ diff --git a/public/images/ui/legacy/summary_bg_it.png b/public/images/ui/legacy/summary_bg_it.png new file mode 100644 index 00000000000..0c10eb2b18a Binary files /dev/null and b/public/images/ui/legacy/summary_bg_it.png differ diff --git a/public/images/ui/legacy/summary_bg_pt_BR.png b/public/images/ui/legacy/summary_bg_pt_BR.png new file mode 100644 index 00000000000..0c10eb2b18a Binary files /dev/null and b/public/images/ui/legacy/summary_bg_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_bg_zh_CN.png b/public/images/ui/legacy/summary_bg_zh_CN.png new file mode 100644 index 00000000000..0c10eb2b18a Binary files /dev/null and b/public/images/ui/legacy/summary_bg_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_moves_de.png b/public/images/ui/legacy/summary_moves_de.png new file mode 100644 index 00000000000..54ddf0fb2c7 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_de.png differ diff --git a/public/images/ui/legacy/summary_moves_effect_de.png b/public/images/ui/legacy/summary_moves_effect_de.png new file mode 100644 index 00000000000..ed422d1b439 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_effect_de.png differ diff --git a/public/images/ui/legacy/summary_moves_effect_es.png b/public/images/ui/legacy/summary_moves_effect_es.png new file mode 100644 index 00000000000..ed422d1b439 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_effect_es.png differ diff --git a/public/images/ui/legacy/summary_moves_effect_fr.png b/public/images/ui/legacy/summary_moves_effect_fr.png new file mode 100644 index 00000000000..ed422d1b439 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_effect_fr.png differ diff --git a/public/images/ui/legacy/summary_moves_effect_it.png b/public/images/ui/legacy/summary_moves_effect_it.png new file mode 100644 index 00000000000..ed422d1b439 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_effect_it.png differ diff --git a/public/images/ui/legacy/summary_moves_effect_pt_BR.png b/public/images/ui/legacy/summary_moves_effect_pt_BR.png new file mode 100644 index 00000000000..ed422d1b439 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_effect_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_moves_effect_zh_CN.png b/public/images/ui/legacy/summary_moves_effect_zh_CN.png new file mode 100644 index 00000000000..ed422d1b439 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_effect_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_moves_es.png b/public/images/ui/legacy/summary_moves_es.png new file mode 100644 index 00000000000..39b781864f9 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_es.png differ diff --git a/public/images/ui/legacy/summary_moves_fr.png b/public/images/ui/legacy/summary_moves_fr.png new file mode 100644 index 00000000000..54ddf0fb2c7 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_fr.png differ diff --git a/public/images/ui/legacy/summary_moves_it.png b/public/images/ui/legacy/summary_moves_it.png new file mode 100644 index 00000000000..54ddf0fb2c7 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_it.png differ diff --git a/public/images/ui/legacy/summary_moves_pt_BR.png b/public/images/ui/legacy/summary_moves_pt_BR.png new file mode 100644 index 00000000000..54ddf0fb2c7 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_moves_zh_CN.png b/public/images/ui/legacy/summary_moves_zh_CN.png new file mode 100644 index 00000000000..54ddf0fb2c7 Binary files /dev/null and b/public/images/ui/legacy/summary_moves_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_profile_ability_de.png b/public/images/ui/legacy/summary_profile_ability_de.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_ability_de.png differ diff --git a/public/images/ui/legacy/summary_profile_ability_es.png b/public/images/ui/legacy/summary_profile_ability_es.png new file mode 100644 index 00000000000..cf86ecfc216 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_ability_es.png differ diff --git a/public/images/ui/legacy/summary_profile_ability_fr.png b/public/images/ui/legacy/summary_profile_ability_fr.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_ability_fr.png differ diff --git a/public/images/ui/legacy/summary_profile_ability_it.png b/public/images/ui/legacy/summary_profile_ability_it.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_ability_it.png differ diff --git a/public/images/ui/legacy/summary_profile_ability_pt_BR.png b/public/images/ui/legacy/summary_profile_ability_pt_BR.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_ability_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_profile_ability_zh_CN.png b/public/images/ui/legacy/summary_profile_ability_zh_CN.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_ability_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_profile_de.png b/public/images/ui/legacy/summary_profile_de.png new file mode 100644 index 00000000000..25fc3ca70d0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_de.png differ diff --git a/public/images/ui/legacy/summary_profile_es.png b/public/images/ui/legacy/summary_profile_es.png new file mode 100644 index 00000000000..2ec05d24311 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_es.png differ diff --git a/public/images/ui/legacy/summary_profile_fr.png b/public/images/ui/legacy/summary_profile_fr.png new file mode 100644 index 00000000000..25fc3ca70d0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_fr.png differ diff --git a/public/images/ui/legacy/summary_profile_it.png b/public/images/ui/legacy/summary_profile_it.png new file mode 100644 index 00000000000..25fc3ca70d0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_it.png differ diff --git a/public/images/ui/legacy/summary_profile_passive_de.png b/public/images/ui/legacy/summary_profile_passive_de.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_passive_de.png differ diff --git a/public/images/ui/legacy/summary_profile_passive_es.png b/public/images/ui/legacy/summary_profile_passive_es.png new file mode 100644 index 00000000000..2a982cf898a Binary files /dev/null and b/public/images/ui/legacy/summary_profile_passive_es.png differ diff --git a/public/images/ui/legacy/summary_profile_passive_fr.png b/public/images/ui/legacy/summary_profile_passive_fr.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_passive_fr.png differ diff --git a/public/images/ui/legacy/summary_profile_passive_it.png b/public/images/ui/legacy/summary_profile_passive_it.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_passive_it.png differ diff --git a/public/images/ui/legacy/summary_profile_passive_pt_BR.png b/public/images/ui/legacy/summary_profile_passive_pt_BR.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_passive_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_profile_passive_zh_CN.png b/public/images/ui/legacy/summary_profile_passive_zh_CN.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_passive_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_profile_pt_BR.png b/public/images/ui/legacy/summary_profile_pt_BR.png new file mode 100644 index 00000000000..25fc3ca70d0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_profile_zh_CN.png b/public/images/ui/legacy/summary_profile_zh_CN.png new file mode 100644 index 00000000000..25fc3ca70d0 Binary files /dev/null and b/public/images/ui/legacy/summary_profile_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_stats_de.png b/public/images/ui/legacy/summary_stats_de.png new file mode 100644 index 00000000000..e744f84be8f Binary files /dev/null and b/public/images/ui/legacy/summary_stats_de.png differ diff --git a/public/images/ui/legacy/summary_stats_es.png b/public/images/ui/legacy/summary_stats_es.png new file mode 100644 index 00000000000..13ecb379ba7 Binary files /dev/null and b/public/images/ui/legacy/summary_stats_es.png differ diff --git a/public/images/ui/legacy/summary_stats_fr.png b/public/images/ui/legacy/summary_stats_fr.png new file mode 100644 index 00000000000..e744f84be8f Binary files /dev/null and b/public/images/ui/legacy/summary_stats_fr.png differ diff --git a/public/images/ui/legacy/summary_stats_it.png b/public/images/ui/legacy/summary_stats_it.png new file mode 100644 index 00000000000..e744f84be8f Binary files /dev/null and b/public/images/ui/legacy/summary_stats_it.png differ diff --git a/public/images/ui/legacy/summary_stats_pt_BR.png b/public/images/ui/legacy/summary_stats_pt_BR.png new file mode 100644 index 00000000000..e744f84be8f Binary files /dev/null and b/public/images/ui/legacy/summary_stats_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_stats_zh_CN.png b/public/images/ui/legacy/summary_stats_zh_CN.png new file mode 100644 index 00000000000..e744f84be8f Binary files /dev/null and b/public/images/ui/legacy/summary_stats_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_tabs_1_de.png b/public/images/ui/legacy/summary_tabs_1_de.png new file mode 100644 index 00000000000..ff38096fcd8 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_1_de.png differ diff --git a/public/images/ui/legacy/summary_tabs_1_es.png b/public/images/ui/legacy/summary_tabs_1_es.png new file mode 100644 index 00000000000..ff38096fcd8 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_1_es.png differ diff --git a/public/images/ui/legacy/summary_tabs_1_fr.png b/public/images/ui/legacy/summary_tabs_1_fr.png new file mode 100644 index 00000000000..ff38096fcd8 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_1_fr.png differ diff --git a/public/images/ui/legacy/summary_tabs_1_it.png b/public/images/ui/legacy/summary_tabs_1_it.png new file mode 100644 index 00000000000..ff38096fcd8 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_1_it.png differ diff --git a/public/images/ui/legacy/summary_tabs_1_pt_BR.png b/public/images/ui/legacy/summary_tabs_1_pt_BR.png new file mode 100644 index 00000000000..ff38096fcd8 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_1_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_tabs_1_zh_CN.png b/public/images/ui/legacy/summary_tabs_1_zh_CN.png new file mode 100644 index 00000000000..ff38096fcd8 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_1_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_tabs_2_de.png b/public/images/ui/legacy/summary_tabs_2_de.png new file mode 100644 index 00000000000..f147d1b8385 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_2_de.png differ diff --git a/public/images/ui/legacy/summary_tabs_2_es.png b/public/images/ui/legacy/summary_tabs_2_es.png new file mode 100644 index 00000000000..f147d1b8385 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_2_es.png differ diff --git a/public/images/ui/legacy/summary_tabs_2_fr.png b/public/images/ui/legacy/summary_tabs_2_fr.png new file mode 100644 index 00000000000..f147d1b8385 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_2_fr.png differ diff --git a/public/images/ui/legacy/summary_tabs_2_it.png b/public/images/ui/legacy/summary_tabs_2_it.png new file mode 100644 index 00000000000..f147d1b8385 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_2_it.png differ diff --git a/public/images/ui/legacy/summary_tabs_2_pt_BR.png b/public/images/ui/legacy/summary_tabs_2_pt_BR.png new file mode 100644 index 00000000000..f147d1b8385 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_2_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_tabs_2_zh_CN.png b/public/images/ui/legacy/summary_tabs_2_zh_CN.png new file mode 100644 index 00000000000..f147d1b8385 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_2_zh_CN.png differ diff --git a/public/images/ui/legacy/summary_tabs_3_de.png b/public/images/ui/legacy/summary_tabs_3_de.png new file mode 100644 index 00000000000..cf882988664 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_3_de.png differ diff --git a/public/images/ui/legacy/summary_tabs_3_es.png b/public/images/ui/legacy/summary_tabs_3_es.png new file mode 100644 index 00000000000..cf882988664 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_3_es.png differ diff --git a/public/images/ui/legacy/summary_tabs_3_fr.png b/public/images/ui/legacy/summary_tabs_3_fr.png new file mode 100644 index 00000000000..cf882988664 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_3_fr.png differ diff --git a/public/images/ui/legacy/summary_tabs_3_it.png b/public/images/ui/legacy/summary_tabs_3_it.png new file mode 100644 index 00000000000..cf882988664 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_3_it.png differ diff --git a/public/images/ui/legacy/summary_tabs_3_pt_BR.png b/public/images/ui/legacy/summary_tabs_3_pt_BR.png new file mode 100644 index 00000000000..cf882988664 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_3_pt_BR.png differ diff --git a/public/images/ui/legacy/summary_tabs_3_zh_CN.png b/public/images/ui/legacy/summary_tabs_3_zh_CN.png new file mode 100644 index 00000000000..cf882988664 Binary files /dev/null and b/public/images/ui/legacy/summary_tabs_3_zh_CN.png differ diff --git a/public/images/ui/starter_select_bg_de.png b/public/images/ui/starter_select_bg_de.png new file mode 100644 index 00000000000..f02182fe140 Binary files /dev/null and b/public/images/ui/starter_select_bg_de.png differ diff --git a/public/images/ui/starter_select_bg_es.png b/public/images/ui/starter_select_bg_es.png new file mode 100644 index 00000000000..68fa9f6ea85 Binary files /dev/null and b/public/images/ui/starter_select_bg_es.png differ diff --git a/public/images/ui/starter_select_bg_fr.png b/public/images/ui/starter_select_bg_fr.png new file mode 100644 index 00000000000..f02182fe140 Binary files /dev/null and b/public/images/ui/starter_select_bg_fr.png differ diff --git a/public/images/ui/starter_select_bg_it.png b/public/images/ui/starter_select_bg_it.png new file mode 100644 index 00000000000..f02182fe140 Binary files /dev/null and b/public/images/ui/starter_select_bg_it.png differ diff --git a/public/images/ui/starter_select_bg_pt_BR.png b/public/images/ui/starter_select_bg_pt_BR.png new file mode 100644 index 00000000000..f02182fe140 Binary files /dev/null and b/public/images/ui/starter_select_bg_pt_BR.png differ diff --git a/public/images/ui/starter_select_bg_zh_CN.png b/public/images/ui/starter_select_bg_zh_CN.png new file mode 100644 index 00000000000..f02182fe140 Binary files /dev/null and b/public/images/ui/starter_select_bg_zh_CN.png differ diff --git a/public/images/ui/summary_bg.png b/public/images/ui/summary_bg.png index 1fa1d95fcc3..f2bf56f2779 100644 Binary files a/public/images/ui/summary_bg.png and b/public/images/ui/summary_bg.png differ diff --git a/public/images/ui/summary_bg_de.png b/public/images/ui/summary_bg_de.png new file mode 100644 index 00000000000..f2bf56f2779 Binary files /dev/null and b/public/images/ui/summary_bg_de.png differ diff --git a/public/images/ui/summary_bg_es.png b/public/images/ui/summary_bg_es.png new file mode 100644 index 00000000000..4a11ad6dd8f Binary files /dev/null and b/public/images/ui/summary_bg_es.png differ diff --git a/public/images/ui/summary_bg_fr.png b/public/images/ui/summary_bg_fr.png new file mode 100644 index 00000000000..f2bf56f2779 Binary files /dev/null and b/public/images/ui/summary_bg_fr.png differ diff --git a/public/images/ui/summary_bg_it.png b/public/images/ui/summary_bg_it.png new file mode 100644 index 00000000000..f2bf56f2779 Binary files /dev/null and b/public/images/ui/summary_bg_it.png differ diff --git a/public/images/ui/summary_bg_pt_BR.png b/public/images/ui/summary_bg_pt_BR.png new file mode 100644 index 00000000000..f2bf56f2779 Binary files /dev/null and b/public/images/ui/summary_bg_pt_BR.png differ diff --git a/public/images/ui/summary_bg_zh_CN.png b/public/images/ui/summary_bg_zh_CN.png new file mode 100644 index 00000000000..f2bf56f2779 Binary files /dev/null and b/public/images/ui/summary_bg_zh_CN.png differ diff --git a/public/images/ui/summary_moves_de.png b/public/images/ui/summary_moves_de.png new file mode 100644 index 00000000000..8f6b01137c1 Binary files /dev/null and b/public/images/ui/summary_moves_de.png differ diff --git a/public/images/ui/summary_moves_effect_de.png b/public/images/ui/summary_moves_effect_de.png new file mode 100644 index 00000000000..e1b0e066732 Binary files /dev/null and b/public/images/ui/summary_moves_effect_de.png differ diff --git a/public/images/ui/summary_moves_effect_es.png b/public/images/ui/summary_moves_effect_es.png new file mode 100644 index 00000000000..688c3125ccf Binary files /dev/null and b/public/images/ui/summary_moves_effect_es.png differ diff --git a/public/images/ui/summary_moves_effect_fr.png b/public/images/ui/summary_moves_effect_fr.png new file mode 100644 index 00000000000..e1b0e066732 Binary files /dev/null and b/public/images/ui/summary_moves_effect_fr.png differ diff --git a/public/images/ui/summary_moves_effect_it.png b/public/images/ui/summary_moves_effect_it.png new file mode 100644 index 00000000000..e1b0e066732 Binary files /dev/null and b/public/images/ui/summary_moves_effect_it.png differ diff --git a/public/images/ui/summary_moves_effect_pt_BR.png b/public/images/ui/summary_moves_effect_pt_BR.png new file mode 100644 index 00000000000..e1b0e066732 Binary files /dev/null and b/public/images/ui/summary_moves_effect_pt_BR.png differ diff --git a/public/images/ui/summary_moves_effect_zh_CN.png b/public/images/ui/summary_moves_effect_zh_CN.png new file mode 100644 index 00000000000..e1b0e066732 Binary files /dev/null and b/public/images/ui/summary_moves_effect_zh_CN.png differ diff --git a/public/images/ui/summary_moves_es.png b/public/images/ui/summary_moves_es.png new file mode 100644 index 00000000000..1f5e7d2af56 Binary files /dev/null and b/public/images/ui/summary_moves_es.png differ diff --git a/public/images/ui/summary_moves_fr.png b/public/images/ui/summary_moves_fr.png new file mode 100644 index 00000000000..8f6b01137c1 Binary files /dev/null and b/public/images/ui/summary_moves_fr.png differ diff --git a/public/images/ui/summary_moves_it.png b/public/images/ui/summary_moves_it.png new file mode 100644 index 00000000000..8f6b01137c1 Binary files /dev/null and b/public/images/ui/summary_moves_it.png differ diff --git a/public/images/ui/summary_moves_pt_BR.png b/public/images/ui/summary_moves_pt_BR.png new file mode 100644 index 00000000000..8f6b01137c1 Binary files /dev/null and b/public/images/ui/summary_moves_pt_BR.png differ diff --git a/public/images/ui/summary_moves_zh_CN.png b/public/images/ui/summary_moves_zh_CN.png new file mode 100644 index 00000000000..8f6b01137c1 Binary files /dev/null and b/public/images/ui/summary_moves_zh_CN.png differ diff --git a/public/images/ui/summary_profile_ability_de.png b/public/images/ui/summary_profile_ability_de.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/summary_profile_ability_de.png differ diff --git a/public/images/ui/summary_profile_ability_es.png b/public/images/ui/summary_profile_ability_es.png new file mode 100644 index 00000000000..cf86ecfc216 Binary files /dev/null and b/public/images/ui/summary_profile_ability_es.png differ diff --git a/public/images/ui/summary_profile_ability_fr.png b/public/images/ui/summary_profile_ability_fr.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/summary_profile_ability_fr.png differ diff --git a/public/images/ui/summary_profile_ability_it.png b/public/images/ui/summary_profile_ability_it.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/summary_profile_ability_it.png differ diff --git a/public/images/ui/summary_profile_ability_pt_BR.png b/public/images/ui/summary_profile_ability_pt_BR.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/summary_profile_ability_pt_BR.png differ diff --git a/public/images/ui/summary_profile_ability_zh_CN.png b/public/images/ui/summary_profile_ability_zh_CN.png new file mode 100644 index 00000000000..84c41556ab0 Binary files /dev/null and b/public/images/ui/summary_profile_ability_zh_CN.png differ diff --git a/public/images/ui/summary_profile_de.png b/public/images/ui/summary_profile_de.png new file mode 100644 index 00000000000..a6b489eca13 Binary files /dev/null and b/public/images/ui/summary_profile_de.png differ diff --git a/public/images/ui/summary_profile_es.png b/public/images/ui/summary_profile_es.png new file mode 100644 index 00000000000..ed51af26d61 Binary files /dev/null and b/public/images/ui/summary_profile_es.png differ diff --git a/public/images/ui/summary_profile_fr.png b/public/images/ui/summary_profile_fr.png new file mode 100644 index 00000000000..a6b489eca13 Binary files /dev/null and b/public/images/ui/summary_profile_fr.png differ diff --git a/public/images/ui/summary_profile_it.png b/public/images/ui/summary_profile_it.png new file mode 100644 index 00000000000..a6b489eca13 Binary files /dev/null and b/public/images/ui/summary_profile_it.png differ diff --git a/public/images/ui/summary_profile_passive_de.png b/public/images/ui/summary_profile_passive_de.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/summary_profile_passive_de.png differ diff --git a/public/images/ui/summary_profile_passive_es.png b/public/images/ui/summary_profile_passive_es.png new file mode 100644 index 00000000000..2a982cf898a Binary files /dev/null and b/public/images/ui/summary_profile_passive_es.png differ diff --git a/public/images/ui/summary_profile_passive_fr.png b/public/images/ui/summary_profile_passive_fr.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/summary_profile_passive_fr.png differ diff --git a/public/images/ui/summary_profile_passive_it.png b/public/images/ui/summary_profile_passive_it.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/summary_profile_passive_it.png differ diff --git a/public/images/ui/summary_profile_passive_pt_BR.png b/public/images/ui/summary_profile_passive_pt_BR.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/summary_profile_passive_pt_BR.png differ diff --git a/public/images/ui/summary_profile_passive_zh_CN.png b/public/images/ui/summary_profile_passive_zh_CN.png new file mode 100644 index 00000000000..8d70a54b2a4 Binary files /dev/null and b/public/images/ui/summary_profile_passive_zh_CN.png differ diff --git a/public/images/ui/summary_profile_pt_BR.png b/public/images/ui/summary_profile_pt_BR.png new file mode 100644 index 00000000000..a6b489eca13 Binary files /dev/null and b/public/images/ui/summary_profile_pt_BR.png differ diff --git a/public/images/ui/summary_profile_zh_CN.png b/public/images/ui/summary_profile_zh_CN.png new file mode 100644 index 00000000000..a6b489eca13 Binary files /dev/null and b/public/images/ui/summary_profile_zh_CN.png differ diff --git a/public/images/ui/summary_stats_de.png b/public/images/ui/summary_stats_de.png new file mode 100644 index 00000000000..b87d67b864a Binary files /dev/null and b/public/images/ui/summary_stats_de.png differ diff --git a/public/images/ui/summary_stats_es.png b/public/images/ui/summary_stats_es.png new file mode 100644 index 00000000000..742cfedd02e Binary files /dev/null and b/public/images/ui/summary_stats_es.png differ diff --git a/public/images/ui/summary_stats_fr.png b/public/images/ui/summary_stats_fr.png new file mode 100644 index 00000000000..b87d67b864a Binary files /dev/null and b/public/images/ui/summary_stats_fr.png differ diff --git a/public/images/ui/summary_stats_it.png b/public/images/ui/summary_stats_it.png new file mode 100644 index 00000000000..b87d67b864a Binary files /dev/null and b/public/images/ui/summary_stats_it.png differ diff --git a/public/images/ui/summary_stats_pt_BR.png b/public/images/ui/summary_stats_pt_BR.png new file mode 100644 index 00000000000..b87d67b864a Binary files /dev/null and b/public/images/ui/summary_stats_pt_BR.png differ diff --git a/public/images/ui/summary_stats_zh_CN.png b/public/images/ui/summary_stats_zh_CN.png new file mode 100644 index 00000000000..b87d67b864a Binary files /dev/null and b/public/images/ui/summary_stats_zh_CN.png differ diff --git a/public/images/ui/summary_tabs_1_de.png b/public/images/ui/summary_tabs_1_de.png new file mode 100644 index 00000000000..c4989a86514 Binary files /dev/null and b/public/images/ui/summary_tabs_1_de.png differ diff --git a/public/images/ui/summary_tabs_1_es.png b/public/images/ui/summary_tabs_1_es.png new file mode 100644 index 00000000000..92b26082fc7 Binary files /dev/null and b/public/images/ui/summary_tabs_1_es.png differ diff --git a/public/images/ui/summary_tabs_1_fr.png b/public/images/ui/summary_tabs_1_fr.png new file mode 100644 index 00000000000..c4989a86514 Binary files /dev/null and b/public/images/ui/summary_tabs_1_fr.png differ diff --git a/public/images/ui/summary_tabs_1_it.png b/public/images/ui/summary_tabs_1_it.png new file mode 100644 index 00000000000..c4989a86514 Binary files /dev/null and b/public/images/ui/summary_tabs_1_it.png differ diff --git a/public/images/ui/summary_tabs_1_pt_BR.png b/public/images/ui/summary_tabs_1_pt_BR.png new file mode 100644 index 00000000000..c4989a86514 Binary files /dev/null and b/public/images/ui/summary_tabs_1_pt_BR.png differ diff --git a/public/images/ui/summary_tabs_1_zh_CN.png b/public/images/ui/summary_tabs_1_zh_CN.png new file mode 100644 index 00000000000..c4989a86514 Binary files /dev/null and b/public/images/ui/summary_tabs_1_zh_CN.png differ diff --git a/public/images/ui/summary_tabs_2_de.png b/public/images/ui/summary_tabs_2_de.png new file mode 100644 index 00000000000..16f7c35b278 Binary files /dev/null and b/public/images/ui/summary_tabs_2_de.png differ diff --git a/public/images/ui/summary_tabs_2_es.png b/public/images/ui/summary_tabs_2_es.png new file mode 100644 index 00000000000..5876b05ce44 Binary files /dev/null and b/public/images/ui/summary_tabs_2_es.png differ diff --git a/public/images/ui/summary_tabs_2_fr.png b/public/images/ui/summary_tabs_2_fr.png new file mode 100644 index 00000000000..16f7c35b278 Binary files /dev/null and b/public/images/ui/summary_tabs_2_fr.png differ diff --git a/public/images/ui/summary_tabs_2_it.png b/public/images/ui/summary_tabs_2_it.png new file mode 100644 index 00000000000..16f7c35b278 Binary files /dev/null and b/public/images/ui/summary_tabs_2_it.png differ diff --git a/public/images/ui/summary_tabs_2_pt_BR.png b/public/images/ui/summary_tabs_2_pt_BR.png new file mode 100644 index 00000000000..16f7c35b278 Binary files /dev/null and b/public/images/ui/summary_tabs_2_pt_BR.png differ diff --git a/public/images/ui/summary_tabs_2_zh_CN.png b/public/images/ui/summary_tabs_2_zh_CN.png new file mode 100644 index 00000000000..16f7c35b278 Binary files /dev/null and b/public/images/ui/summary_tabs_2_zh_CN.png differ diff --git a/public/images/ui/summary_tabs_3_de.png b/public/images/ui/summary_tabs_3_de.png new file mode 100644 index 00000000000..b766307aaca Binary files /dev/null and b/public/images/ui/summary_tabs_3_de.png differ diff --git a/public/images/ui/summary_tabs_3_es.png b/public/images/ui/summary_tabs_3_es.png new file mode 100644 index 00000000000..b18b9055c77 Binary files /dev/null and b/public/images/ui/summary_tabs_3_es.png differ diff --git a/public/images/ui/summary_tabs_3_fr.png b/public/images/ui/summary_tabs_3_fr.png new file mode 100644 index 00000000000..b766307aaca Binary files /dev/null and b/public/images/ui/summary_tabs_3_fr.png differ diff --git a/public/images/ui/summary_tabs_3_it.png b/public/images/ui/summary_tabs_3_it.png new file mode 100644 index 00000000000..b766307aaca Binary files /dev/null and b/public/images/ui/summary_tabs_3_it.png differ diff --git a/public/images/ui/summary_tabs_3_pt_BR.png b/public/images/ui/summary_tabs_3_pt_BR.png new file mode 100644 index 00000000000..b766307aaca Binary files /dev/null and b/public/images/ui/summary_tabs_3_pt_BR.png differ diff --git a/public/images/ui/summary_tabs_3_zh_CN.png b/public/images/ui/summary_tabs_3_zh_CN.png new file mode 100644 index 00000000000..b766307aaca Binary files /dev/null and b/public/images/ui/summary_tabs_3_zh_CN.png differ diff --git a/src/data/biomes.ts b/src/data/biomes.ts index db13158fab3..f798ca0c030 100644 --- a/src/data/biomes.ts +++ b/src/data/biomes.ts @@ -6,10 +6,13 @@ import { TrainerType } from "./enums/trainer-type"; import { TimeOfDay } from "./enums/time-of-day"; import { Biome } from "./enums/biome"; import { SpeciesFormEvolution } from "./pokemon-evolutions"; +import i18next from "#app/plugins/i18n.js"; export function getBiomeName(biome: Biome | -1) { if (biome === -1) - return 'Somewhere you can\'t remember'; + return i18next.t('biome:unknownLocation'); + return i18next.exists(`biome:${Biome[biome]}`) ? i18next.t(`biome:${Biome[biome]}`) : Utils.toReadableString(Biome[biome]); + /* switch (biome) { case Biome.GRASS: return 'Grassy Field'; @@ -23,7 +26,7 @@ export function getBiomeName(biome: Biome | -1) { return 'Final Destination'; default: return Utils.toReadableString(Biome[biome]); - } + }*/ } interface BiomeLinks { diff --git a/src/loading-scene.ts b/src/loading-scene.ts index a49fed480e6..5b5f6e8e363 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -8,7 +8,7 @@ import { SceneBase } from "./scene-base"; import { WindowVariant, getWindowVariantSuffix } from "./ui/ui-theme"; import { isMobile } from "./touch-controls"; import * as Utils from "./utils"; -import { initI18n } from "./plugins/i18n"; +import i18next, { initI18n } from "./plugins/i18n"; export class LoadingScene extends SceneBase { constructor() { @@ -112,8 +112,25 @@ export class LoadingScene extends SceneBase { this.loadImage('summary_moves_overlay_row', 'ui'); this.loadImage('summary_moves_overlay_pp', 'ui'); this.loadAtlas('summary_moves_cursor', 'ui'); - for (let t = 1; t <= 3; t++) + for (let t = 1; t <= 3; t++){ this.loadImage(`summary_tabs_${t}`, 'ui'); + } + (i18next.options.supportedLngs as Array).forEach(lang => { + if(Utils.verifyLang(lang)){ + this.loadImage(`starter_select_bg_${lang}`, 'ui'); + this.loadImage(`summary_bg_${lang}`, 'ui'); + this.loadImage(`summary_moves_${lang}`, 'ui'); + this.loadImage(`summary_moves_effect_${lang}`, 'ui'); + this.loadImage(`summary_profile_${lang}`, 'ui'); + this.loadImage(`summary_stats_${lang}`, 'ui'); + this.loadImage(`summary_profile_ability_${lang}`, 'ui'); + this.loadImage(`summary_profile_passive_${lang}`, 'ui'); + for (let t = 1; t <= 3; t++){ + this.loadImage(`summary_tabs_${t}_${lang}`, 'ui'); + } + } + }); + this.loadImage('starter_select_bg', 'ui'); this.loadImage('select_cursor', 'ui'); @@ -189,6 +206,11 @@ export class LoadingScene extends SceneBase { this.loadAtlas('pb', ''); this.loadAtlas('items', ''); this.loadAtlas('types', ''); + (i18next.options.supportedLngs as Array).forEach(lang => { + if(Utils.verifyLang(lang)){ + this.loadAtlas(`types_${lang}`, ''); + } + }); this.loadAtlas('statuses', ''); this.loadAtlas('categories', ''); diff --git a/src/locales/IMPORTANT LOCALIZATION INFO b/src/locales/IMPORTANT LOCALIZATION INFO new file mode 100644 index 00000000000..d6c13edb228 --- /dev/null +++ b/src/locales/IMPORTANT LOCALIZATION INFO @@ -0,0 +1,12 @@ +In case a new lang is added, it should be added to the function verifyLang of Utils as well, but only after +adding all the necessary lang images: + - starter_select_bg_LANGNAME + - summary_bg_LANGNAME + - summary_moves_LANGNAME + - summary_moves_effect_LANGNAME + - summary_profile_LANGNAME + - summary_stats_LANGNAME + - summary_tabs_1_LANGNAME + - summary_tabs_2_LANGNAME + - summary_tabs_3_LANGNAME +These images should be added to the legacy folder as well \ No newline at end of file diff --git a/src/locales/de/biome.ts b/src/locales/de/biome.ts new file mode 100644 index 00000000000..8359b36176e --- /dev/null +++ b/src/locales/de/biome.ts @@ -0,0 +1,40 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const biome: SimpleTranslationEntries = { + "unknownLocation": "Somewhere you can\'t remember", + "TOWN": "Town", + "PLAINS": "Plains", + "GRASS": "Grassy Field", + "TALL_GRASS": "Tall Grass", + "METROPOLIS": "Metropolis", + "FOREST": "Forest", + "SEA": "Sea", + "SWAMP": "Swamp", + "BEACH": "Beach", + "LAKE": "Lake", + "SEABED": "Seabed", + "MOUNTAIN": "Mountain", + "BADLANDS": "Badlands", + "CAVE": "Cave", + "DESERT": "Desert", + "ICE_CAVE": "Ice Cave", + "MEADOW": "Meadow", + "POWER_PLANT": "Power Plant", + "VOLCANO": "Volcano", + "GRAVEYARD": "Graveyard", + "DOJO": "Dojo", + "FACTORY": "Factory", + "RUINS": "Ancient Ruins", + "WASTELAND": "Wasteland", + "ABYSS": "The Abyss", + "SPACE": "Stratosphere", + "CONSTRUCTION_SITE": "Construction Site", + "JUNGLE": "Jungle", + "FAIRY_CAVE": "Fairy Cave", + "TEMPLE": "Temple", + "SLUM": "Slum", + "SNOWY_FOREST": "Snowy Forest", + "ISLAND": "Island", + "LABORATORY": "Laboratory", + "END": "Final Destination", +} as const; \ No newline at end of file diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index a9f4cd68297..82c5af64607 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -1,6 +1,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; +import { biome } from "./biome"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; @@ -8,10 +9,12 @@ import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; import { move } from "./move"; import { nature } from "./nature"; +import { partyUiHandler } from "./party-ui-handler"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { SummaryUiHandler } from "./summary-ui-handler"; import { tutorial } from "./tutorial"; @@ -30,5 +33,8 @@ export const deConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, nature: nature, - growth: growth + growth: growth, + partyUiHandler: partyUiHandler, + summaryUiHandler: SummaryUiHandler, + biome: biome } \ No newline at end of file diff --git a/src/locales/de/party-ui-handler.ts b/src/locales/de/party-ui-handler.ts new file mode 100644 index 00000000000..728a619f96f --- /dev/null +++ b/src/locales/de/party-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const partyUiHandler: SimpleTranslationEntries = { + "choosePokemon": "Choose a Pokémon.", + "cantReleaseInBattle": "You can\'t release a Pokémon that\'s in battle!", + "what2doWithPoke": "Do what with this Pokémon?", + "cancelShort": "Cancel", + "selectMove": "Select a move.", + "selectHeldItemTransfer": "Select a held item to transfer.", + "selectSplice": "Select another Pokémon to splice.", + "deactivate": "Deactivate", + "activate": "Activate", + "SEND_OUT": "Send Out", + "SUMMARY": "Summary", + "RELEASE": "Release", + "CANCEL": "Cancel" +} as const; \ No newline at end of file diff --git a/src/locales/de/starter-select-ui-handler.ts b/src/locales/de/starter-select-ui-handler.ts index 5f6dae32cf6..e08dacbcd6a 100644 --- a/src/locales/de/starter-select-ui-handler.ts +++ b/src/locales/de/starter-select-ui-handler.ts @@ -40,5 +40,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "Passiv-Skill deaktivieren", "locked": "Gesperrt", "disabled": "Deaktiviert", - "uncaught": "Uncaught" + "uncaught": "Uncaught", + "luck":" Luck", + "form": "Form" } diff --git a/src/locales/de/summary-ui-handler.ts b/src/locales/de/summary-ui-handler.ts new file mode 100644 index 00000000000..0c67f0a2a8d --- /dev/null +++ b/src/locales/de/summary-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const SummaryUiHandler: SimpleTranslationEntries = { + "pokemonInfo": "Pokémon Info", //Currently unused + "originalTrainer": "OT", + "type": "Type", + "natureBeforeText": "", + "natureAfterText": " nature", + "apparently": "apparently", + "metAtLv":"met at Lv", + "status": "Status", + "lvl": "Lvl", + "unknown": 'Unknown', + "expPoints": "EXP. Points", + "nextLv": "Next Lv.", + "moveStats": "Power\nAccuracy\nCategory" +} as const; \ No newline at end of file diff --git a/src/locales/en/biome.ts b/src/locales/en/biome.ts new file mode 100644 index 00000000000..8359b36176e --- /dev/null +++ b/src/locales/en/biome.ts @@ -0,0 +1,40 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const biome: SimpleTranslationEntries = { + "unknownLocation": "Somewhere you can\'t remember", + "TOWN": "Town", + "PLAINS": "Plains", + "GRASS": "Grassy Field", + "TALL_GRASS": "Tall Grass", + "METROPOLIS": "Metropolis", + "FOREST": "Forest", + "SEA": "Sea", + "SWAMP": "Swamp", + "BEACH": "Beach", + "LAKE": "Lake", + "SEABED": "Seabed", + "MOUNTAIN": "Mountain", + "BADLANDS": "Badlands", + "CAVE": "Cave", + "DESERT": "Desert", + "ICE_CAVE": "Ice Cave", + "MEADOW": "Meadow", + "POWER_PLANT": "Power Plant", + "VOLCANO": "Volcano", + "GRAVEYARD": "Graveyard", + "DOJO": "Dojo", + "FACTORY": "Factory", + "RUINS": "Ancient Ruins", + "WASTELAND": "Wasteland", + "ABYSS": "The Abyss", + "SPACE": "Stratosphere", + "CONSTRUCTION_SITE": "Construction Site", + "JUNGLE": "Jungle", + "FAIRY_CAVE": "Fairy Cave", + "TEMPLE": "Temple", + "SLUM": "Slum", + "SNOWY_FOREST": "Snowy Forest", + "ISLAND": "Island", + "LABORATORY": "Laboratory", + "END": "Final Destination", +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 9259aa5cbe1..8a8cfeb0276 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -1,6 +1,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; +import { biome } from "./biome"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; @@ -8,10 +9,12 @@ import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; import { move } from "./move"; import { nature } from "./nature"; +import { partyUiHandler } from "./party-ui-handler"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { SummaryUiHandler } from "./summary-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; @@ -32,5 +35,8 @@ export const enConfig = { tutorial: tutorial, nature: nature, growth: growth, + partyUiHandler: partyUiHandler, + summaryUiHandler: SummaryUiHandler, + biome: biome, weather: weather -} \ No newline at end of file +} diff --git a/src/locales/en/party-ui-handler.ts b/src/locales/en/party-ui-handler.ts new file mode 100644 index 00000000000..728a619f96f --- /dev/null +++ b/src/locales/en/party-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const partyUiHandler: SimpleTranslationEntries = { + "choosePokemon": "Choose a Pokémon.", + "cantReleaseInBattle": "You can\'t release a Pokémon that\'s in battle!", + "what2doWithPoke": "Do what with this Pokémon?", + "cancelShort": "Cancel", + "selectMove": "Select a move.", + "selectHeldItemTransfer": "Select a held item to transfer.", + "selectSplice": "Select another Pokémon to splice.", + "deactivate": "Deactivate", + "activate": "Activate", + "SEND_OUT": "Send Out", + "SUMMARY": "Summary", + "RELEASE": "Release", + "CANCEL": "Cancel" +} as const; \ No newline at end of file diff --git a/src/locales/en/starter-select-ui-handler.ts b/src/locales/en/starter-select-ui-handler.ts index 19f8649dcc3..5fe17523bae 100644 --- a/src/locales/en/starter-select-ui-handler.ts +++ b/src/locales/en/starter-select-ui-handler.ts @@ -40,5 +40,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "Disable Passive", "locked": "Locked", "disabled": "Disabled", - "uncaught": "Uncaught" -} + "uncaught": "Uncaught", + "luck":" Luck", + "form": "Form" +} \ No newline at end of file diff --git a/src/locales/en/summary-ui-handler.ts b/src/locales/en/summary-ui-handler.ts new file mode 100644 index 00000000000..0c67f0a2a8d --- /dev/null +++ b/src/locales/en/summary-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const SummaryUiHandler: SimpleTranslationEntries = { + "pokemonInfo": "Pokémon Info", //Currently unused + "originalTrainer": "OT", + "type": "Type", + "natureBeforeText": "", + "natureAfterText": " nature", + "apparently": "apparently", + "metAtLv":"met at Lv", + "status": "Status", + "lvl": "Lvl", + "unknown": 'Unknown', + "expPoints": "EXP. Points", + "nextLv": "Next Lv.", + "moveStats": "Power\nAccuracy\nCategory" +} as const; \ No newline at end of file diff --git a/src/locales/es/biome.ts b/src/locales/es/biome.ts new file mode 100644 index 00000000000..59962bca136 --- /dev/null +++ b/src/locales/es/biome.ts @@ -0,0 +1,40 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const biome: SimpleTranslationEntries = { + "unknownLocation": "Un lugar que no logras recordar", + "TOWN": "Pueblo", + "PLAINS": "Llanura", + "GRASS": "Campo", + "TALL_GRASS": "Hierba Alta", + "METROPOLIS": "Ciudad", + "FOREST": "Bosque", + "SEA": "Mar", + "SWAMP": "Pantano", + "BEACH": "Playa", + "LAKE": "Lago", + "SEABED": "Fondo Marino", + "MOUNTAIN": "Montaña", + "BADLANDS": "Yermo", + "CAVE": "Cueva", + "DESERT": "Desierto", + "ICE_CAVE": "Cueva Helada", + "MEADOW": "Prado", + "POWER_PLANT": "Central Energía", + "VOLCANO": "Volcán", + "GRAVEYARD": "Cementerio", + "DOJO": "Dojo", + "FACTORY": "Fábrica", + "RUINS": "Ruinas Antiguas", + "WASTELAND": "Páramo Desolado", + "ABYSS": "El Abismo", + "SPACE": "Estratosfera", + "CONSTRUCTION_SITE": "Obras", + "JUNGLE": "Jungla", + "FAIRY_CAVE": "Cueva Hada", + "TEMPLE": "Templo", + "SLUM": "Suburbios", + "SNOWY_FOREST": "Bosque Nevado", + "ISLAND": "Isla", + "LABORATORY": "Laboratorio", + "END": "Destino Final", +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index f6d6f2715d9..ca6515ab9f0 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -1,6 +1,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; +import { biome } from "./biome"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; @@ -8,10 +9,12 @@ import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; import { move } from "./move"; import { nature } from "./nature"; +import { partyUiHandler } from "./party-ui-handler"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { SummaryUiHandler } from "./summary-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; @@ -32,5 +35,8 @@ export const esConfig = { tutorial: tutorial, nature: nature, growth: growth, + partyUiHandler: partyUiHandler, + summaryUiHandler: SummaryUiHandler, + biome: biome, weather: weather } \ No newline at end of file diff --git a/src/locales/es/party-ui-handler.ts b/src/locales/es/party-ui-handler.ts new file mode 100644 index 00000000000..2e944a41563 --- /dev/null +++ b/src/locales/es/party-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const partyUiHandler: SimpleTranslationEntries = { + "choosePokemon": "Elige un Pokémon.", + "cantReleaseInBattle": "¡No puedes liberar un Pokémon en combate!", + "what2doWithPoke": "¿Qué hacer con este Pokémon?", + "cancelShort": "Cancel", + "selectMove": "Elige un movimiento.", + "selectHeldItemTransfer": "Elige qué objeto transferir.", + "selectSplice": "Elige otro Pokémon para la fusión.", + "deactivate": "Desactivar", + "activate": "Activar", + "SEND_OUT": "Cambiar", + "SUMMARY": "Datos", + "RELEASE": "Liberar", + "CANCEL": "Cancelar" +} as const; \ No newline at end of file diff --git a/src/locales/es/starter-select-ui-handler.ts b/src/locales/es/starter-select-ui-handler.ts index 79bf6f9476e..712b59de60b 100644 --- a/src/locales/es/starter-select-ui-handler.ts +++ b/src/locales/es/starter-select-ui-handler.ts @@ -40,5 +40,8 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "Desactivar Pasiva", "locked": "Locked", "disabled": "Disabled", - "uncaught": "Uncaught" + "uncaught": "Uncaught", + "luck":" Suerte", + "form": "Forma" } + diff --git a/src/locales/es/summary-ui-handler.ts b/src/locales/es/summary-ui-handler.ts new file mode 100644 index 00000000000..b389585712c --- /dev/null +++ b/src/locales/es/summary-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const SummaryUiHandler: SimpleTranslationEntries = { + "pokemonInfo": "Info. Pokémon", //Currently unused + "originalTrainer": "EO", + "type": "Tipo", + "natureBeforeText": "Naturaleza: ", + "natureAfterText": "", + "apparently": "aparentemente", + "metAtLv":"encontrado con Nv. ", + "status": "Estado", + "lvl": "Nv", + "unknown": "Desconocido", + "expPoints": "Puntos Exp", + "nextLv": "Sig. Nv.", + "moveStats": "Poder\nPrecisión\nCategoría" +} as const; \ No newline at end of file diff --git a/src/locales/fr/biome.ts b/src/locales/fr/biome.ts new file mode 100644 index 00000000000..8359b36176e --- /dev/null +++ b/src/locales/fr/biome.ts @@ -0,0 +1,40 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const biome: SimpleTranslationEntries = { + "unknownLocation": "Somewhere you can\'t remember", + "TOWN": "Town", + "PLAINS": "Plains", + "GRASS": "Grassy Field", + "TALL_GRASS": "Tall Grass", + "METROPOLIS": "Metropolis", + "FOREST": "Forest", + "SEA": "Sea", + "SWAMP": "Swamp", + "BEACH": "Beach", + "LAKE": "Lake", + "SEABED": "Seabed", + "MOUNTAIN": "Mountain", + "BADLANDS": "Badlands", + "CAVE": "Cave", + "DESERT": "Desert", + "ICE_CAVE": "Ice Cave", + "MEADOW": "Meadow", + "POWER_PLANT": "Power Plant", + "VOLCANO": "Volcano", + "GRAVEYARD": "Graveyard", + "DOJO": "Dojo", + "FACTORY": "Factory", + "RUINS": "Ancient Ruins", + "WASTELAND": "Wasteland", + "ABYSS": "The Abyss", + "SPACE": "Stratosphere", + "CONSTRUCTION_SITE": "Construction Site", + "JUNGLE": "Jungle", + "FAIRY_CAVE": "Fairy Cave", + "TEMPLE": "Temple", + "SLUM": "Slum", + "SNOWY_FOREST": "Snowy Forest", + "ISLAND": "Island", + "LABORATORY": "Laboratory", + "END": "Final Destination", +} as const; \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 4179c758ff9..1f913b7e403 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -1,6 +1,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; +import { biome } from "./biome"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; @@ -8,10 +9,12 @@ import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; import { move } from "./move"; import { nature } from "./nature"; +import { partyUiHandler } from "./party-ui-handler"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { SummaryUiHandler } from "./summary-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; @@ -32,5 +35,8 @@ export const frConfig = { tutorial: tutorial, nature: nature, growth: growth, + partyUiHandler: partyUiHandler, + summaryUiHandler: SummaryUiHandler, + biome: biome, weather: weather } \ No newline at end of file diff --git a/src/locales/fr/party-ui-handler.ts b/src/locales/fr/party-ui-handler.ts new file mode 100644 index 00000000000..728a619f96f --- /dev/null +++ b/src/locales/fr/party-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const partyUiHandler: SimpleTranslationEntries = { + "choosePokemon": "Choose a Pokémon.", + "cantReleaseInBattle": "You can\'t release a Pokémon that\'s in battle!", + "what2doWithPoke": "Do what with this Pokémon?", + "cancelShort": "Cancel", + "selectMove": "Select a move.", + "selectHeldItemTransfer": "Select a held item to transfer.", + "selectSplice": "Select another Pokémon to splice.", + "deactivate": "Deactivate", + "activate": "Activate", + "SEND_OUT": "Send Out", + "SUMMARY": "Summary", + "RELEASE": "Release", + "CANCEL": "Cancel" +} as const; \ No newline at end of file diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts index 380f4e9fd56..02a88457d78 100644 --- a/src/locales/fr/starter-select-ui-handler.ts +++ b/src/locales/fr/starter-select-ui-handler.ts @@ -40,5 +40,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "Désactiver Passif", "locked": "Verrouillé", "disabled": "Désactivé", - "uncaught": "Non-capturé" + "uncaught": "Non-capturé", + "luck":" Luck", + "form": "Form" } diff --git a/src/locales/fr/summary-ui-handler.ts b/src/locales/fr/summary-ui-handler.ts new file mode 100644 index 00000000000..0c67f0a2a8d --- /dev/null +++ b/src/locales/fr/summary-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const SummaryUiHandler: SimpleTranslationEntries = { + "pokemonInfo": "Pokémon Info", //Currently unused + "originalTrainer": "OT", + "type": "Type", + "natureBeforeText": "", + "natureAfterText": " nature", + "apparently": "apparently", + "metAtLv":"met at Lv", + "status": "Status", + "lvl": "Lvl", + "unknown": 'Unknown', + "expPoints": "EXP. Points", + "nextLv": "Next Lv.", + "moveStats": "Power\nAccuracy\nCategory" +} as const; \ No newline at end of file diff --git a/src/locales/it/biome.ts b/src/locales/it/biome.ts new file mode 100644 index 00000000000..8359b36176e --- /dev/null +++ b/src/locales/it/biome.ts @@ -0,0 +1,40 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const biome: SimpleTranslationEntries = { + "unknownLocation": "Somewhere you can\'t remember", + "TOWN": "Town", + "PLAINS": "Plains", + "GRASS": "Grassy Field", + "TALL_GRASS": "Tall Grass", + "METROPOLIS": "Metropolis", + "FOREST": "Forest", + "SEA": "Sea", + "SWAMP": "Swamp", + "BEACH": "Beach", + "LAKE": "Lake", + "SEABED": "Seabed", + "MOUNTAIN": "Mountain", + "BADLANDS": "Badlands", + "CAVE": "Cave", + "DESERT": "Desert", + "ICE_CAVE": "Ice Cave", + "MEADOW": "Meadow", + "POWER_PLANT": "Power Plant", + "VOLCANO": "Volcano", + "GRAVEYARD": "Graveyard", + "DOJO": "Dojo", + "FACTORY": "Factory", + "RUINS": "Ancient Ruins", + "WASTELAND": "Wasteland", + "ABYSS": "The Abyss", + "SPACE": "Stratosphere", + "CONSTRUCTION_SITE": "Construction Site", + "JUNGLE": "Jungle", + "FAIRY_CAVE": "Fairy Cave", + "TEMPLE": "Temple", + "SLUM": "Slum", + "SNOWY_FOREST": "Snowy Forest", + "ISLAND": "Island", + "LABORATORY": "Laboratory", + "END": "Final Destination", +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 85e2e629184..8746a478c61 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -1,6 +1,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; +import { biome } from "./biome"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; @@ -8,10 +9,12 @@ import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; import { move } from "./move"; import { nature } from "./nature"; +import { partyUiHandler } from "./party-ui-handler"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { SummaryUiHandler } from "./summary-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; @@ -32,5 +35,8 @@ export const itConfig = { tutorial: tutorial, nature: nature, growth: growth, + partyUiHandler: partyUiHandler, + summaryUiHandler: SummaryUiHandler, + biome: biome, weather: weather } \ No newline at end of file diff --git a/src/locales/it/party-ui-handler.ts b/src/locales/it/party-ui-handler.ts new file mode 100644 index 00000000000..728a619f96f --- /dev/null +++ b/src/locales/it/party-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const partyUiHandler: SimpleTranslationEntries = { + "choosePokemon": "Choose a Pokémon.", + "cantReleaseInBattle": "You can\'t release a Pokémon that\'s in battle!", + "what2doWithPoke": "Do what with this Pokémon?", + "cancelShort": "Cancel", + "selectMove": "Select a move.", + "selectHeldItemTransfer": "Select a held item to transfer.", + "selectSplice": "Select another Pokémon to splice.", + "deactivate": "Deactivate", + "activate": "Activate", + "SEND_OUT": "Send Out", + "SUMMARY": "Summary", + "RELEASE": "Release", + "CANCEL": "Cancel" +} as const; \ No newline at end of file diff --git a/src/locales/it/starter-select-ui-handler.ts b/src/locales/it/starter-select-ui-handler.ts index f2b44c37297..252349ef854 100644 --- a/src/locales/it/starter-select-ui-handler.ts +++ b/src/locales/it/starter-select-ui-handler.ts @@ -40,5 +40,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "Disattiva Passiva", "locked": "Bloccato", "disabled": "Disabilitato", - "uncaught": "Non Catturato" + "uncaught": "Non Catturato", + "luck":" Luck", + "form": "Form" } \ No newline at end of file diff --git a/src/locales/it/summary-ui-handler.ts b/src/locales/it/summary-ui-handler.ts new file mode 100644 index 00000000000..0c67f0a2a8d --- /dev/null +++ b/src/locales/it/summary-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const SummaryUiHandler: SimpleTranslationEntries = { + "pokemonInfo": "Pokémon Info", //Currently unused + "originalTrainer": "OT", + "type": "Type", + "natureBeforeText": "", + "natureAfterText": " nature", + "apparently": "apparently", + "metAtLv":"met at Lv", + "status": "Status", + "lvl": "Lvl", + "unknown": 'Unknown', + "expPoints": "EXP. Points", + "nextLv": "Next Lv.", + "moveStats": "Power\nAccuracy\nCategory" +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/biome.ts b/src/locales/pt_BR/biome.ts new file mode 100644 index 00000000000..8359b36176e --- /dev/null +++ b/src/locales/pt_BR/biome.ts @@ -0,0 +1,40 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const biome: SimpleTranslationEntries = { + "unknownLocation": "Somewhere you can\'t remember", + "TOWN": "Town", + "PLAINS": "Plains", + "GRASS": "Grassy Field", + "TALL_GRASS": "Tall Grass", + "METROPOLIS": "Metropolis", + "FOREST": "Forest", + "SEA": "Sea", + "SWAMP": "Swamp", + "BEACH": "Beach", + "LAKE": "Lake", + "SEABED": "Seabed", + "MOUNTAIN": "Mountain", + "BADLANDS": "Badlands", + "CAVE": "Cave", + "DESERT": "Desert", + "ICE_CAVE": "Ice Cave", + "MEADOW": "Meadow", + "POWER_PLANT": "Power Plant", + "VOLCANO": "Volcano", + "GRAVEYARD": "Graveyard", + "DOJO": "Dojo", + "FACTORY": "Factory", + "RUINS": "Ancient Ruins", + "WASTELAND": "Wasteland", + "ABYSS": "The Abyss", + "SPACE": "Stratosphere", + "CONSTRUCTION_SITE": "Construction Site", + "JUNGLE": "Jungle", + "FAIRY_CAVE": "Fairy Cave", + "TEMPLE": "Temple", + "SLUM": "Slum", + "SNOWY_FOREST": "Snowy Forest", + "ISLAND": "Island", + "LABORATORY": "Laboratory", + "END": "Final Destination", +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 83d0641c8fa..f1bc2d72cab 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -1,5 +1,6 @@ import { ability } from "./ability"; import { battle } from "./battle"; +import { biome } from "./biome"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; @@ -7,10 +8,12 @@ import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; import { move } from "./move"; import { nature } from "./nature"; +import { partyUiHandler } from "./party-ui-handler"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { SummaryUiHandler } from "./summary-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; @@ -30,5 +33,8 @@ export const ptBrConfig = { tutorial: tutorial, nature: nature, growth: growth, + partyUiHandler: partyUiHandler, + summaryUiHandler: SummaryUiHandler, + biome: biome, weather: weather } \ No newline at end of file diff --git a/src/locales/pt_BR/party-ui-handler.ts b/src/locales/pt_BR/party-ui-handler.ts new file mode 100644 index 00000000000..728a619f96f --- /dev/null +++ b/src/locales/pt_BR/party-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const partyUiHandler: SimpleTranslationEntries = { + "choosePokemon": "Choose a Pokémon.", + "cantReleaseInBattle": "You can\'t release a Pokémon that\'s in battle!", + "what2doWithPoke": "Do what with this Pokémon?", + "cancelShort": "Cancel", + "selectMove": "Select a move.", + "selectHeldItemTransfer": "Select a held item to transfer.", + "selectSplice": "Select another Pokémon to splice.", + "deactivate": "Deactivate", + "activate": "Activate", + "SEND_OUT": "Send Out", + "SUMMARY": "Summary", + "RELEASE": "Release", + "CANCEL": "Cancel" +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/summary-ui-handler.ts b/src/locales/pt_BR/summary-ui-handler.ts new file mode 100644 index 00000000000..0c67f0a2a8d --- /dev/null +++ b/src/locales/pt_BR/summary-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const SummaryUiHandler: SimpleTranslationEntries = { + "pokemonInfo": "Pokémon Info", //Currently unused + "originalTrainer": "OT", + "type": "Type", + "natureBeforeText": "", + "natureAfterText": " nature", + "apparently": "apparently", + "metAtLv":"met at Lv", + "status": "Status", + "lvl": "Lvl", + "unknown": 'Unknown', + "expPoints": "EXP. Points", + "nextLv": "Next Lv.", + "moveStats": "Power\nAccuracy\nCategory" +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/biome.ts b/src/locales/zh_CN/biome.ts new file mode 100644 index 00000000000..8359b36176e --- /dev/null +++ b/src/locales/zh_CN/biome.ts @@ -0,0 +1,40 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const biome: SimpleTranslationEntries = { + "unknownLocation": "Somewhere you can\'t remember", + "TOWN": "Town", + "PLAINS": "Plains", + "GRASS": "Grassy Field", + "TALL_GRASS": "Tall Grass", + "METROPOLIS": "Metropolis", + "FOREST": "Forest", + "SEA": "Sea", + "SWAMP": "Swamp", + "BEACH": "Beach", + "LAKE": "Lake", + "SEABED": "Seabed", + "MOUNTAIN": "Mountain", + "BADLANDS": "Badlands", + "CAVE": "Cave", + "DESERT": "Desert", + "ICE_CAVE": "Ice Cave", + "MEADOW": "Meadow", + "POWER_PLANT": "Power Plant", + "VOLCANO": "Volcano", + "GRAVEYARD": "Graveyard", + "DOJO": "Dojo", + "FACTORY": "Factory", + "RUINS": "Ancient Ruins", + "WASTELAND": "Wasteland", + "ABYSS": "The Abyss", + "SPACE": "Stratosphere", + "CONSTRUCTION_SITE": "Construction Site", + "JUNGLE": "Jungle", + "FAIRY_CAVE": "Fairy Cave", + "TEMPLE": "Temple", + "SLUM": "Slum", + "SNOWY_FOREST": "Snowy Forest", + "ISLAND": "Island", + "LABORATORY": "Laboratory", + "END": "Final Destination", +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 9a70eafb8e1..f71a862f909 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -12,6 +12,9 @@ import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; import { nature } from "./nature"; +import { partyUiHandler } from "./party-ui-handler"; +import { SummaryUiHandler } from "./summary-ui-handler"; +import { biome } from "./biome"; import { weather } from "./weather"; @@ -29,7 +32,9 @@ export const zhCnConfig = { pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, - nature: nature, + partyUiHandler: partyUiHandler, + summaryUiHandler: SummaryUiHandler, + biome: biome, weather: weather } \ No newline at end of file diff --git a/src/locales/zh_CN/party-ui-handler.ts b/src/locales/zh_CN/party-ui-handler.ts new file mode 100644 index 00000000000..728a619f96f --- /dev/null +++ b/src/locales/zh_CN/party-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const partyUiHandler: SimpleTranslationEntries = { + "choosePokemon": "Choose a Pokémon.", + "cantReleaseInBattle": "You can\'t release a Pokémon that\'s in battle!", + "what2doWithPoke": "Do what with this Pokémon?", + "cancelShort": "Cancel", + "selectMove": "Select a move.", + "selectHeldItemTransfer": "Select a held item to transfer.", + "selectSplice": "Select another Pokémon to splice.", + "deactivate": "Deactivate", + "activate": "Activate", + "SEND_OUT": "Send Out", + "SUMMARY": "Summary", + "RELEASE": "Release", + "CANCEL": "Cancel" +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/starter-select-ui-handler.ts b/src/locales/zh_CN/starter-select-ui-handler.ts index 99ecc31afbb..729246ab712 100644 --- a/src/locales/zh_CN/starter-select-ui-handler.ts +++ b/src/locales/zh_CN/starter-select-ui-handler.ts @@ -40,5 +40,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "禁用被动", "locked": "Locked", "disabled": "Disabled", - "uncaught": "Uncaught" -} + "uncaught": "Uncaught", + "luck":" Luck", + "form": "Form" +} \ No newline at end of file diff --git a/src/locales/zh_CN/summary-ui-handler.ts b/src/locales/zh_CN/summary-ui-handler.ts new file mode 100644 index 00000000000..0c67f0a2a8d --- /dev/null +++ b/src/locales/zh_CN/summary-ui-handler.ts @@ -0,0 +1,17 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const SummaryUiHandler: SimpleTranslationEntries = { + "pokemonInfo": "Pokémon Info", //Currently unused + "originalTrainer": "OT", + "type": "Type", + "natureBeforeText": "", + "natureAfterText": " nature", + "apparently": "apparently", + "metAtLv":"met at Lv", + "status": "Status", + "lvl": "Lvl", + "unknown": 'Unknown', + "expPoints": "EXP. Points", + "nextLv": "Next Lv.", + "moveStats": "Power\nAccuracy\nCategory" +} as const; \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 44712b12778..9adb774af67 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -110,6 +110,9 @@ declare module 'i18next' { starterSelectUiHandler: SimpleTranslationEntries; nature: SimpleTranslationEntries; growth: SimpleTranslationEntries; + partyUiHandler: SimpleTranslationEntries; + summaryUiHandler: SimpleTranslationEntries; + biome: SimpleTranslationEntries; weather: SimpleTranslationEntries; }; } diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 8b497655a17..36a1d2ff3e0 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -17,8 +17,7 @@ import { addWindow } from "./ui-theme"; import { SpeciesFormChangeItemTrigger } from "../data/pokemon-forms"; import { getVariantTint } from "#app/data/variant"; import {Button} from "../enums/buttons"; - -const defaultMessage = 'Choose a Pokémon.'; +import i18next from "i18next"; export enum PartyUiMode { SWITCH, @@ -62,6 +61,7 @@ export type PokemonModifierTransferSelectFilter = (pokemon: PlayerPokemon, modif export type PokemonMoveSelectFilter = (pokemonMove: PokemonMove) => string; export default class PartyUiHandler extends MessageUiHandler { + private defaultMessage = i18next.t('partyUiHandler:choosePokemon'); private partyUiMode: PartyUiMode; private fieldIndex: integer; @@ -146,7 +146,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.partyMessageBox = partyMessageBox; - const partyMessageText = addTextObject(this.scene, 8, 10, defaultMessage, TextStyle.WINDOW, { maxLines: 2 }); + const partyMessageText = addTextObject(this.scene, 8, 10, this.defaultMessage, TextStyle.WINDOW, { maxLines: 2 }); partyMessageText.setOrigin(0, 0); partyMessageBoxContainer.add(partyMessageText); @@ -338,7 +338,7 @@ export default class PartyUiHandler extends MessageUiHandler { }); }); } else - this.showText('You can\'t release a Pokémon that\'s in battle!', null, () => this.showText(null, 0), null, true); + this.showText(i18next.t('partyUiHandler:cantReleaseInBattle'), null, () => this.showText(null, 0), null, true); return true; } else if (option === PartyOption.CANCEL) return this.processInput(Button.CANCEL); @@ -496,7 +496,7 @@ export default class PartyUiHandler extends MessageUiHandler { showText(text: string, delay?: integer, callback?: Function, callbackDelay?: integer, prompt?: boolean, promptDelay?: integer) { if (text === null) - text = defaultMessage; + text = this.defaultMessage; if (text?.indexOf('\n') === -1) { this.partyMessageBox.setSize(262, 30); @@ -515,19 +515,19 @@ export default class PartyUiHandler extends MessageUiHandler { this.optionsMode = true; - let optionsMessage = 'Do what with this Pokémon?'; + let optionsMessage = i18next.t('partyUiHandler:what2doWithPoke'); switch (this.partyUiMode) { case PartyUiMode.MOVE_MODIFIER: - optionsMessage = 'Select a move.'; + optionsMessage = i18next.t('partyUiHandler:selectMove'); break; case PartyUiMode.MODIFIER_TRANSFER: if (!this.transferMode) - optionsMessage = 'Select a held item to transfer.'; + optionsMessage = i18next.t('partyUiHandler:selectHeldItemTransfer'); break; case PartyUiMode.SPLICE: if (!this.transferMode) - optionsMessage = 'Select another Pokémon to splice.'; + optionsMessage = i18next.t('partyUiHandler:selectSplice'); break; } @@ -678,7 +678,7 @@ export default class PartyUiHandler extends MessageUiHandler { default: if (formChangeItemModifiers && option >= PartyOption.FORM_CHANGE_ITEM) { const modifier = formChangeItemModifiers[option - PartyOption.FORM_CHANGE_ITEM]; - optionName = `${modifier.active ? 'Deactivate' : 'Activate'} ${modifier.type.name}`; + optionName = `${modifier.active ? i18next.t('partyUiHandler:deactivate') : i18next.t('partyUiHandler:activate')} ${modifier.type.name}`; } else optionName = Utils.toReadableString(PartyOption[option]); break; @@ -695,7 +695,7 @@ export default class PartyUiHandler extends MessageUiHandler { } const yCoord = -6 - 16 * o; - const optionText = addTextObject(this.scene, 0, yCoord - 16, optionName, TextStyle.WINDOW); + const optionText = addTextObject(this.scene, 0, yCoord - 16, i18next.exists(`partyUiHandler:${PartyOption[option]}`) ? i18next.t(`partyUiHandler:${PartyOption[option]}`) : optionName, TextStyle.WINDOW); if (altText) { optionText.setColor('#40c8f8'); optionText.setShadowColor('#006090') @@ -1035,7 +1035,7 @@ class PartyCancelButton extends Phaser.GameObjects.Container { this.partyCancelPb = partyCancelPb; - const partyCancelText = addTextObject(this.scene, -7, -6, 'Cancel', TextStyle.PARTY); + const partyCancelText = addTextObject(this.scene, -7, -6, i18next.t('partyUiHandler:cancelShort'), TextStyle.PARTY); this.add(partyCancelText); } diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index a20f3a3647f..dfdc13151a2 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -208,7 +208,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { bgColor.setOrigin(0, 0); this.starterSelectContainer.add(bgColor); - const starterSelectBg = this.scene.add.image(0, 0, 'starter_select_bg'); + const starterSelectBg = this.scene.add.image(0, 0, Utils.verifyLang() ? `starter_select_bg_${i18next.language}`: 'starter_select_bg'); starterSelectBg.setOrigin(0, 0); this.starterSelectContainer.add(starterSelectBg); @@ -471,7 +471,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.type2Icon.setOrigin(0, 0); this.starterSelectContainer.add(this.type2Icon); - this.pokemonLuckLabelText = addTextObject(this.scene, 8, 89, 'Luck:', TextStyle.WINDOW_ALT, { fontSize: '56px' }); + this.pokemonLuckLabelText = addTextObject(this.scene, 8, 89, `${i18next.t('starterSelectUiHandler:luck')}:`, TextStyle.WINDOW_ALT, { fontSize: '56px' }); this.pokemonLuckLabelText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonLuckLabelText); @@ -484,7 +484,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonCandyIcon.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonCandyIcon); - this.pokemonFormText = addTextObject(this.scene, 6, 42, 'Form', TextStyle.WINDOW_ALT, { fontSize: '42px' }); + this.pokemonFormText = addTextObject(this.scene, 6, 42, i18next.t('starterSelectUiHandler:form'), TextStyle.WINDOW_ALT, { fontSize: '42px' }); this.pokemonFormText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonFormText); diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 35f3e34ad78..5e1de555602 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -20,6 +20,7 @@ import { loggedInUser } from "../account"; import { PlayerGender } from "../system/game-data"; import { Variant, getVariantTint } from "#app/data/variant"; import {Button} from "../enums/buttons"; +import i18next from "i18next"; import { Ability } from "../data/ability.js"; enum Page { @@ -111,17 +112,17 @@ export default class SummaryUiHandler extends UiHandler { this.summaryContainer.setVisible(false); ui.add(this.summaryContainer); - const summaryBg = this.scene.add.image(0, 0, 'summary_bg'); + const summaryBg = this.scene.add.image(0, 0, Utils.verifyLang() ? `summary_bg_${i18next.language}`: 'summary_bg'); summaryBg.setOrigin(0, 1); this.summaryContainer.add(summaryBg); - - this.tabSprite = this.scene.add.sprite(134, (-summaryBg.displayHeight) + 16, 'summary_tabs_1'); + //If you have to change the 134, replace all instances + this.tabSprite = this.scene.add.sprite(134, (-summaryBg.displayHeight) + 16, Utils.verifyLang() ? `summary_tabs_1_${i18next.language}`: 'summary_tabs_1'); this.tabSprite.setOrigin(1, 1); this.summaryContainer.add(this.tabSprite); - - const summaryLabel = addTextObject(this.scene, 4, -165, 'Pokémon Info', TextStyle.SUMMARY); + /* + const summaryLabel = addTextObject(this.scene, 4, -165, i18next.t('summaryUiHandler:pokemonInfo'), TextStyle.SUMMARY); summaryLabel.setOrigin(0, 1); - this.summaryContainer.add(summaryLabel); + this.summaryContainer.add(summaryLabel);*/ this.shinyOverlay = this.scene.add.image(6, -54, 'summary_overlay_shiny'); this.shinyOverlay.setOrigin(0, 1); @@ -188,8 +189,8 @@ export default class SummaryUiHandler extends UiHandler { this.championRibbon.setScale(1.25); this.summaryContainer.add(this.championRibbon); this.championRibbon.setVisible(false); - - this.levelText = addTextObject(this.scene, 36, -17, '', TextStyle.SUMMARY_ALT); + + this.levelText = addTextObject(this.scene, 25, -17, '', TextStyle.SUMMARY_ALT); this.levelText.setOrigin(0, 1); this.summaryContainer.add(this.levelText); @@ -204,7 +205,7 @@ export default class SummaryUiHandler extends UiHandler { this.statusContainer.add(statusBg); - const statusLabel = addTextObject(this.scene, 3, 0, 'Status', TextStyle.SUMMARY); + const statusLabel = addTextObject(this.scene, 3, 0, i18next.t('summaryUiHandler:status'), TextStyle.SUMMARY); statusLabel.setOrigin(0, 0); this.statusContainer.add(statusLabel); @@ -220,11 +221,11 @@ export default class SummaryUiHandler extends UiHandler { this.summaryContainer.add(this.moveEffectContainer); - const moveEffectBg = this.scene.add.image(0, 0, 'summary_moves_effect'); + const moveEffectBg = this.scene.add.image(0, 0, Utils.verifyLang() ? `summary_moves_effect_${i18next.language}`: 'summary_moves_effect' ); moveEffectBg.setOrigin(0, 0); this.moveEffectContainer.add(moveEffectBg); - const moveEffectLabels = addTextObject(this.scene, 8, 12, 'Power\nAccuracy\nCategory', TextStyle.SUMMARY); + const moveEffectLabels = addTextObject(this.scene, 8, 12, i18next.t('summaryUiHandler:moveStats'), TextStyle.SUMMARY); moveEffectLabels.setLineSpacing(9); moveEffectLabels.setOrigin(0, 0); @@ -350,7 +351,7 @@ export default class SummaryUiHandler extends UiHandler { this.fusionShinyIcon.setTint(getVariantTint(this.pokemon.fusionVariant)); this.pokeball.setFrame(getPokeballAtlasKey(this.pokemon.pokeball)); - this.levelText.setText(this.pokemon.level.toString()); + this.levelText.setText(`${i18next.t('summaryUiHandler:lvl')}. ${this.pokemon.level}`); this.genderText.setText(getGenderSymbol(this.pokemon.getGender(true))); this.genderText.setColor(getGenderColor(this.pokemon.getGender(true))); this.genderText.setShadowColor(getGenderColor(this.pokemon.getGender(true), true)); @@ -595,9 +596,11 @@ export default class SummaryUiHandler extends UiHandler { if (changed) { const forward = this.cursor < cursor; this.cursor = cursor; - - this.tabSprite.setTexture(`summary_tabs_${this.cursor + 1}`); - + //en sprites 54x16 + this.tabSprite.setTexture(Utils.verifyLang() ? `summary_tabs_${this.cursor + 1}_${i18next.language}`: `summary_tabs_${this.cursor + 1}`); + let offsetX = this.tabSprite.displayWidth - 54; + //If you have to change the 134, replace all instances + this.tabSprite.setPosition(134 + offsetX, this.tabSprite.y); this.getUi().hideTooltip(); if (this.summaryPageContainer.visible) { @@ -655,7 +658,7 @@ export default class SummaryUiHandler extends UiHandler { pageContainer.removeBetween(1, undefined, true); } const pageBg = (pageContainer.getAt(0) as Phaser.GameObjects.Sprite); - pageBg.setTexture(this.getPageKey(page)); + pageBg.setTexture(Utils.verifyLang() ? `${this.getPageKey(page)}_${i18next.language}`: this.getPageKey(page)); if (this.descriptionScrollTween) { this.descriptionScrollTween.remove(); @@ -667,11 +670,11 @@ export default class SummaryUiHandler extends UiHandler { const profileContainer = this.scene.add.container(0, -pageBg.height); pageContainer.add(profileContainer); - const trainerLabel = addTextObject(this.scene, 7, 12, 'OT/', TextStyle.SUMMARY_ALT); + const trainerLabel = addTextObject(this.scene, 7, 12, `${i18next.t('summaryUiHandler:originalTrainer') as string}/`, TextStyle.SUMMARY_ALT); trainerLabel.setOrigin(0, 0); profileContainer.add(trainerLabel); - const trainerText = addTextObject(this.scene, 25, 12, loggedInUser?.username || 'Unknown', + const trainerText = addTextObject(this.scene, 25, 12, loggedInUser?.username || i18next.t('summaryUiHandler:unknown'), this.scene.gameData.gender === PlayerGender.FEMALE ? TextStyle.SUMMARY_PINK : TextStyle.SUMMARY_BLUE); trainerText.setOrigin(0, 0); profileContainer.add(trainerText); @@ -680,14 +683,14 @@ export default class SummaryUiHandler extends UiHandler { trainerIdText.setOrigin(0, 0); profileContainer.add(trainerIdText); - const typeLabel = addTextObject(this.scene, 7, 28, 'Type/', TextStyle.WINDOW_ALT); + const typeLabel = addTextObject(this.scene, 7, 28, `${i18next.t('summaryUiHandler:type')}/`, TextStyle.WINDOW_ALT); typeLabel.setOrigin(0, 0); profileContainer.add(typeLabel); const getTypeIcon = (index: integer, type: Type, tera: boolean = false) => { const xCoord = 39 + 34 * index; const typeIcon = !tera - ? this.scene.add.sprite(xCoord, 42, 'types', Type[type].toLowerCase()) + ? this.scene.add.sprite(xCoord, 42, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ''}`, Type[type].toLowerCase()) : this.scene.add.sprite(xCoord, 42, 'type_tera'); if (tera) { typeIcon.setScale(0.5); @@ -706,7 +709,7 @@ export default class SummaryUiHandler extends UiHandler { profileContainer.add(getTypeIcon(types.length, this.pokemon.getTeraType(), true)); if (this.pokemon.getLuck()) { - const luckLabelText = addTextObject(this.scene, 141, 28, 'Luck:', TextStyle.SUMMARY_ALT); + const luckLabelText = addTextObject(this.scene, 141, 28, `${i18next.t('starterSelectUiHandler:luck')}:`, TextStyle.SUMMARY_ALT); luckLabelText.setOrigin(0, 0); profileContainer.add(luckLabelText); @@ -717,7 +720,7 @@ export default class SummaryUiHandler extends UiHandler { } this.abilityContainer = { - labelImage: this.scene.add.image(0, 0, 'summary_profile_ability'), + labelImage: this.scene.add.image(0, 0, Utils.verifyLang() ? `summary_profile_ability_${i18next.language}`: 'summary_profile_ability'), ability: this.pokemon.getAbility(true), nameText: null, descriptionText: null}; @@ -726,7 +729,7 @@ export default class SummaryUiHandler extends UiHandler { // Only add to the array and set up displaying a passive if it's unlocked if (this.pokemon.hasPassive()) { this.passiveContainer = { - labelImage: this.scene.add.image(0, 0, 'summary_profile_passive'), + labelImage: this.scene.add.image(0, 0, Utils.verifyLang() ? `summary_profile_passive_${i18next.language}`: 'summary_profile_passive'), ability: this.pokemon.getPassiveAbility(), nameText: null, descriptionText: null}; @@ -739,7 +742,7 @@ export default class SummaryUiHandler extends UiHandler { this.abilityPrompt.setOrigin(0, 0); profileContainer.add(this.abilityPrompt); } - + allAbilityInfo.forEach(abilityInfo => { abilityInfo.labelImage.setPosition(17, 43); abilityInfo.labelImage.setVisible(true); @@ -785,8 +788,9 @@ export default class SummaryUiHandler extends UiHandler { this.passiveContainer?.nameText.setVisible(false); this.passiveContainer?.descriptionText.setVisible(false); - let memoString = `${getBBCodeFrag(Utils.toReadableString(Nature[this.pokemon.getNature()]), TextStyle.SUMMARY_RED)}${getBBCodeFrag(' nature,', TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(`${this.pokemon.metBiome === -1 ? 'apparently ' : ''}met at Lv`, TextStyle.WINDOW_ALT)}${getBBCodeFrag(this.pokemon.metLevel.toString(), TextStyle.SUMMARY_RED)}${getBBCodeFrag(',', TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(getBiomeName(this.pokemon.metBiome), TextStyle.SUMMARY_RED)}${getBBCodeFrag('.', TextStyle.WINDOW_ALT)}`; - + let readableNature = Utils.toReadableString(Nature[this.pokemon.getNature()]); + let biomeName = getBiomeName(this.pokemon.metBiome); + let memoString = `${getBBCodeFrag(`${i18next.t('summaryUiHandler:natureBeforeText') as string}`, TextStyle.WINDOW_ALT)}${getBBCodeFrag(i18next.exists(`nature:${readableNature}`) ? i18next.t(`nature:${readableNature}`) : readableNature, TextStyle.SUMMARY_RED)}${getBBCodeFrag(`${i18next.t('summaryUiHandler:natureAfterText') as string},`, TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(`${this.pokemon.metBiome === -1 ? `${i18next.t('summaryUiHandler:apparently') as string} ` : ''}${i18next.t('summaryUiHandler:metAtLv') as string}`, TextStyle.WINDOW_ALT)}${getBBCodeFrag(this.pokemon.metLevel.toString(), TextStyle.SUMMARY_RED)}${getBBCodeFrag(',', TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(i18next.exists(`biome:${biomeName}`) ? i18next.t(`biome:${biomeName}`) : biomeName, TextStyle.SUMMARY_RED)}${getBBCodeFrag('.', TextStyle.WINDOW_ALT)}`; const memoText = addBBCodeTextObject(this.scene, 7, 113, memoString, TextStyle.WINDOW_ALT); memoText.setOrigin(0, 0); profileContainer.add(memoText); @@ -800,13 +804,13 @@ export default class SummaryUiHandler extends UiHandler { stats.forEach((stat, s) => { const statName = stat !== Stat.HP ? getStatName(stat) - : 'HP'; + : i18next.t('pokemonStat:HP'); const rowIndex = s % 3; const colIndex = Math.floor(s / 3); const natureStatMultiplier = getNatureStatMultiplier(this.pokemon.getNature(), s); - const statLabel = addTextObject(this.scene, 27 + 115 * colIndex, 56 + 16 * rowIndex, statName, natureStatMultiplier === 1 ? TextStyle.SUMMARY : natureStatMultiplier > 1 ? TextStyle.SUMMARY_PINK : TextStyle.SUMMARY_BLUE); + const statLabel = addTextObject(this.scene, 27 + 115 * colIndex + (colIndex == 1 ? 5 : 0), 56 + 16 * rowIndex, statName, natureStatMultiplier === 1 ? TextStyle.SUMMARY : natureStatMultiplier > 1 ? TextStyle.SUMMARY_PINK : TextStyle.SUMMARY_BLUE); statLabel.setOrigin(0.5, 0); statsContainer.add(statLabel); @@ -836,11 +840,11 @@ export default class SummaryUiHandler extends UiHandler { const relLvExp = getLevelRelExp(this.pokemon.level + 1, this.pokemon.species.growthRate); const expRatio = this.pokemon.level < this.scene.getMaxExpLevel() ? this.pokemon.levelExp / relLvExp : 0; - const expLabel = addTextObject(this.scene, 6, 112, 'EXP. Points', TextStyle.SUMMARY); + const expLabel = addTextObject(this.scene, 6, 112, i18next.t('summaryUiHandler:expPoints'), TextStyle.SUMMARY); expLabel.setOrigin(0, 0); statsContainer.add(expLabel); - const nextLvExpLabel = addTextObject(this.scene, 6, 128, 'Next Lv.', TextStyle.SUMMARY); + const nextLvExpLabel = addTextObject(this.scene, 6, 128, i18next.t('summaryUiHandler:nextLv'), TextStyle.SUMMARY); nextLvExpLabel.setOrigin(0, 0); statsContainer.add(nextLvExpLabel); @@ -881,7 +885,7 @@ export default class SummaryUiHandler extends UiHandler { extraRowOverlay.setOrigin(0, 1); this.extraMoveRowContainer.add(extraRowOverlay); - const extraRowText = addTextObject(this.scene, 35, 0, this.summaryUiMode === SummaryUiMode.LEARN_MOVE ? this.newMove.name : 'Cancel', + const extraRowText = addTextObject(this.scene, 35, 0, this.summaryUiMode === SummaryUiMode.LEARN_MOVE ? this.newMove.name : i18next.t('menu:cancel'), this.summaryUiMode === SummaryUiMode.LEARN_MOVE ? TextStyle.SUMMARY_PINK : TextStyle.SUMMARY); extraRowText.setOrigin(0, 1); this.extraMoveRowContainer.add(extraRowText); @@ -911,7 +915,7 @@ export default class SummaryUiHandler extends UiHandler { this.moveRowsContainer.add(moveRowContainer); if (move) { - const typeIcon = this.scene.add.sprite(0, 0, 'types', Type[move.getMove().type].toLowerCase()); + const typeIcon = this.scene.add.sprite(0, 0, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ''}`, Type[move.getMove().type].toLowerCase()); typeIcon.setOrigin(0, 1); moveRowContainer.add(typeIcon); } diff --git a/src/utils.ts b/src/utils.ts index 142de91c1ca..98a6f132f0d 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,3 +1,5 @@ +import i18next from "i18next"; + export const MissingTextureKey = '__MISSING'; export function toReadableString(str: string): string { @@ -336,4 +338,29 @@ export function rgbHexToRgba(hex: string) { export function rgbaToInt(rgba: integer[]): integer { return (rgba[0] << 24) + (rgba[1] << 16) + (rgba[2] << 8) + rgba[3]; +} + +/*This function returns true if the current lang is available for some functions +If the lang is not in the function, it usually means that lang is going to use the default english version +This function is used in: +- summary-ui-handler.ts: If the lang is not available, it'll use types.json (english) +English itself counts as not available +*/ +export function verifyLang(lang?: string): boolean { + //IMPORTANT - ONLY ADD YOUR LANG HERE IF YOU'VE ALREADY ADDED ALL THE NECESSARY IMAGES + if(!lang){ + lang = i18next.language; + } + + switch(lang){ + case 'es': + case 'fr': + case 'de': + case 'it': + case 'zh_CN': + case 'pt_BR': + return true; + default: + return false; + } } \ No newline at end of file