Spanish translations (#422)
* Spanish translations for intro messages and some menus. Added Empty (save file) to lang files * Spanish translations + new literals in all langs --------- Co-authored-by: rnicar <rj.nieto.car@gmail.com>pull/436/head
parent
6f446324db
commit
19e434929c
|
@ -39,5 +39,9 @@ export const menu: SimpleTranslationEntries = {
|
||||||
"weeklyRankings": "Weekly Rankings",
|
"weeklyRankings": "Weekly Rankings",
|
||||||
"noRankings": "No Rankings",
|
"noRankings": "No Rankings",
|
||||||
"loading": "Loading…",
|
"loading": "Loading…",
|
||||||
"playersOnline": "Players Online"
|
"playersOnline": "Players Online",
|
||||||
|
"empty":"Empty",
|
||||||
|
"yes":"Yes",
|
||||||
|
"no":"No",
|
||||||
|
"confirmStartTeam":'Begin with these Pokémon?',
|
||||||
} as const;
|
} as const;
|
|
@ -39,5 +39,9 @@ export const menu: SimpleTranslationEntries = {
|
||||||
"weeklyRankings": "Weekly Rankings",
|
"weeklyRankings": "Weekly Rankings",
|
||||||
"noRankings": "No Rankings",
|
"noRankings": "No Rankings",
|
||||||
"loading": "Loading…",
|
"loading": "Loading…",
|
||||||
"playersOnline": "Players Online"
|
"playersOnline": "Players Online",
|
||||||
|
"empty":"Empty",
|
||||||
|
"yes":"Yes",
|
||||||
|
"no":"No",
|
||||||
|
"confirmStartTeam":'Begin with these Pokémon?',
|
||||||
} as const;
|
} as const;
|
|
@ -2,7 +2,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
export const commandUiHandler: SimpleTranslationEntries = {
|
export const commandUiHandler: SimpleTranslationEntries = {
|
||||||
"fight": "Luchar",
|
"fight": "Luchar",
|
||||||
"ball": "Ball",
|
"ball": "Balls",
|
||||||
"pokemon": "Pokémon",
|
"pokemon": "Pokémon",
|
||||||
"run": "Huir",
|
"run": "Huir",
|
||||||
"actionMessage": "¿Qué debería\nhacer {{pokemonName}}?",
|
"actionMessage": "¿Qué debería\nhacer {{pokemonName}}?",
|
||||||
|
|
|
@ -19,9 +19,13 @@ export const menu: SimpleTranslationEntries = {
|
||||||
"boyOrGirl": "¿Eres un chico o una chica?",
|
"boyOrGirl": "¿Eres un chico o una chica?",
|
||||||
"boy": "Chico",
|
"boy": "Chico",
|
||||||
"girl": "Chica",
|
"girl": "Chica",
|
||||||
"dailyRankings": "Daily Rankings",
|
"dailyRankings": "Rankings Diarios",
|
||||||
"weeklyRankings": "Weekly Rankings",
|
"weeklyRankings": "Rankings Semanales",
|
||||||
"noRankings": "No Rankings",
|
"noRankings": "Sin Rankings",
|
||||||
"loading": "Loading…",
|
"loading": "Cargando…",
|
||||||
"playersOnline": "Players Online"
|
"playersOnline": "Jugadores en Línea",
|
||||||
|
"empty":"Vacío",
|
||||||
|
"yes":"Sí",
|
||||||
|
"no":"No",
|
||||||
|
"confirmStartTeam":'¿Comenzar con estos Pokémon?',
|
||||||
} as const;
|
} as const;
|
|
@ -1,42 +1,49 @@
|
||||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
export const tutorial: SimpleTranslationEntries = {
|
export const tutorial: SimpleTranslationEntries = {
|
||||||
"intro": `Welcome to PokéRogue! This is a battle-focused Pokémon fangame with roguelite elements.
|
"intro": `¡Bienvenido/a a PokéRogue! Este es un fangame de Pokémon centrado en el combate con elementos roguelite.
|
||||||
$This game is not monetized and we claim no ownership of Pokémon nor of the copyrighted assets used.
|
$Este juego no está monetizado y no reclamamos ningún derecho de propiedad sobre Pokémon ni sobre ninguno de
|
||||||
$The game is a work in progress, but fully playable.\nFor bug reports, please use the Discord community.
|
$los recursos con copyright utilizados.
|
||||||
$If the game runs slowly, please ensure 'Hardware Acceleration' is turned on in your browser settings.`,
|
$El juego está en proceso, pero es completamente jugable.\nPara reportar bugs, por favor, hazlo en nuestra
|
||||||
|
$comunidad de Discord.
|
||||||
|
$Si el juego va lento, por favor, asegúrate de que tengas activada la opción 'Aceleración de gráficos' en los
|
||||||
|
$ajustes de tu navegador.`,
|
||||||
|
|
||||||
"accessMenu": `To access the menu, press M or Escape while awaiting input.\nThe menu contains settings and various features.`,
|
"accessMenu": `Para acceder al menú, pulsa M o Escape cuando\ntengas el control.
|
||||||
|
$El menú contiene la configuración y otras funciones.`,
|
||||||
|
|
||||||
"menu": `From this menu you can access the settings.
|
"menu": `Desde este menú podrás acceder a la configuración.
|
||||||
$From the settings you can change game speed, window style, and other options.
|
$Podrás cambiar la velocidad del juego, el estilo de la ventana y demás.
|
||||||
$There are also various other features here, so be sure to check them all!`,
|
$Hay más opciones, ¡así que pruébalas todas!`,
|
||||||
|
|
||||||
"starterSelect": `From this screen, you can select your starters.\nThese are your initial party members.
|
"starterSelect": `En esta pantalla podrás elegir tus iniciales. Estos serán tus\nmiembros de equipo al comenzar la partida.
|
||||||
$Each starter has a value. Your party can have up to\n6 members as long as the total does not exceed 10.
|
$Cada inicial tiene un valor. Tu equipo puede contener hasta 6\nmiembros mientras el valor total no pase de 10.
|
||||||
$You can also select gender, ability, and form depending on\nthe variants you've caught or hatched.
|
$También puedes elegir su género, habilidad y forma\ndependiendo de las variantes que hayas conseguido.
|
||||||
$The IVs for a species are also the best of every one you've\ncaught or hatched, so try to get lots of the same species!`,
|
$Los IVs de los iniciales corresponderán al valor más alto de\nlos Pokémon de la misma especie que hayas obtenido.
|
||||||
|
$¡Así que intenta conseguir muchos Pokémon de la misma\nespecie!`,
|
||||||
|
|
||||||
"pokerus": `A daily random 3 selectable starters have a purple border.
|
"pokerus": `Cada día, 3 iniciales aleatorios tendrán un borde morado.
|
||||||
$If you see a starter you own with one of these,\ntry adding it to your party. Be sure to check its summary!`,
|
$Si ves un inicial que tengas con este borde, prueba a\nañadirlo a tu equipo. ¡No olvides revisar sus datos!`,
|
||||||
|
|
||||||
"statChange": `Stat changes persist across battles as long as your Pokémon aren't recalled.
|
"statChange": `Los cambios de estadísticas se mantienen entre combates\nmientras que el Pokémon no vuelva a la Poké Ball.
|
||||||
$Your Pokémon are recalled before a trainer battle and before entering a new biome.
|
$Tus Pokémon vuelven a sus Poké Balls antes de combates contra entrenadores y de entrar a un nuevo bioma.
|
||||||
$You can also view the stat changes for the Pokémon on the field by holding C or Shift.`,
|
$También puedes ver los cambios de estadísticas del Pokémon en campo manteniendo pulsado C o Shift.`,
|
||||||
|
|
||||||
"selectItem": `After every battle, you are given a choice of 3 random items.\nYou may only pick one.
|
"selectItem": `Tras cada combate, tendrás la opción de elegir entre tres objetos aleatorios. Solo podrás escoger uno.
|
||||||
$These range from consumables, to Pokémon held items, to passive permanent items.
|
$Estos objetos pueden ser consumibles, objetos equipables u objetos pasivos permanentes (hasta acabar la partida).
|
||||||
$Most non-consumable item effects will stack in various ways.
|
$La mayoría de los efectos de objetos no consumibles se acumularán de varias maneras.
|
||||||
$Some items will only show up if they can be used, such as evolution items.
|
$Algunos objetos solo aparecerán si pueden ser utilizados, como las piedras evolutivas.
|
||||||
$You can also transfer held items between Pokémon using the transfer option.
|
$También puedes transferir objetos equipados entre Pokémon utilizando la opción de transferir.
|
||||||
$The transfer option will appear in the bottom right once you have obtained a held item.
|
$La opción de transferir aparecerá en la parte inferior derecha una vez hayas obtenido un objeto equipable.
|
||||||
$You may purchase consumable items with money, and a larger variety will be available the further you get.
|
$También puedes comprar objetos consumibles con dinero y su variedad irá aumentando según tu avance.
|
||||||
$Be sure to buy these before you pick your random item, as it will progress to the next battle once you do.`,
|
$Asegúrate de comprar antes de escoger un objeto aleatorio, ya que se avanzará al siguiente combate.`,
|
||||||
|
|
||||||
"eggGacha": `From this screen, you can redeem your vouchers for\nPokémon eggs.
|
"eggGacha": `En esta pantalla podrás canjear tus vales por huevos\nde Pokémon.
|
||||||
$Eggs have to be hatched and get closer to hatching after\nevery battle. Rarer eggs take longer to hatch.
|
$Los huevos deben eclosionar y estarán más cerca de\nhacerlo tras cada combate.
|
||||||
$Hatched Pokémon also won't be added to your party, they will\nbe added to your starters.
|
$Los huevos más raros tardarán más en eclosionar.
|
||||||
$Pokémon hatched from eggs generally have better IVs than\nwild Pokémon.
|
$Los Pokémon que hayan salido del huevo no se\nañadirán a tu equipo, pero sí a tus iniciales.
|
||||||
$Some Pokémon can only even be obtained from eggs.
|
$Los Pokémon salidos de un huevo suelen tener mejores\nIVs que los Pokémon salvajes.
|
||||||
$There are 3 different machines to pull from with different\nbonuses, so pick the one that suits you best!`,
|
$Algunos Pokémon solo pueden ser obtenidos de huevos.
|
||||||
|
$Hay 3 máquinas diferentes entre las que elegir, cada\nuna con zdiferentes bonificaciones.
|
||||||
|
$¡Así que escoge la que más te interese!`,
|
||||||
} as const;
|
} as const;
|
|
@ -34,5 +34,9 @@ export const menu: SimpleTranslationEntries = {
|
||||||
"weeklyRankings": "Classement de la Semaine",
|
"weeklyRankings": "Classement de la Semaine",
|
||||||
"noRankings": "Pas de Classement",
|
"noRankings": "Pas de Classement",
|
||||||
"loading": "Chargement…",
|
"loading": "Chargement…",
|
||||||
"playersOnline": "Joueurs Connectés"
|
"playersOnline": "Joueurs Connectés",
|
||||||
|
"empty":"Empty",
|
||||||
|
"yes":"Yes",
|
||||||
|
"no":"No",
|
||||||
|
"confirmStartTeam":'Begin with these Pokémon?',
|
||||||
} as const;
|
} as const;
|
||||||
|
|
|
@ -39,5 +39,9 @@ export const menu: SimpleTranslationEntries = {
|
||||||
"weeklyRankings": "Weekly Rankings",
|
"weeklyRankings": "Weekly Rankings",
|
||||||
"noRankings": "No Rankings",
|
"noRankings": "No Rankings",
|
||||||
"loading": "Loading…",
|
"loading": "Loading…",
|
||||||
"playersOnline": "Players Online"
|
"playersOnline": "Players Online",
|
||||||
|
"empty":"Empty",
|
||||||
|
"yes":"Yes",
|
||||||
|
"no":"No",
|
||||||
|
"confirmStartTeam":'Begin with these Pokémon?',
|
||||||
} as const;
|
} as const;
|
|
@ -1,6 +1,7 @@
|
||||||
import BattleScene, { Button } from "../battle-scene";
|
import BattleScene, { Button } from "../battle-scene";
|
||||||
import AbstractOptionSelectUiHandler, { OptionSelectConfig } from "./abstact-option-select-ui-handler";
|
import AbstractOptionSelectUiHandler, { OptionSelectConfig } from "./abstact-option-select-ui-handler";
|
||||||
import { Mode } from "./ui";
|
import { Mode } from "./ui";
|
||||||
|
import i18next from "i18next";
|
||||||
|
|
||||||
export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler {
|
export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler {
|
||||||
private switchCheck: boolean;
|
private switchCheck: boolean;
|
||||||
|
@ -19,14 +20,14 @@ export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler {
|
||||||
const config: OptionSelectConfig = {
|
const config: OptionSelectConfig = {
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
label: 'Yes',
|
label: i18next.t("menu:yes"),
|
||||||
handler: () => {
|
handler: () => {
|
||||||
args[0]();
|
args[0]();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'No',
|
label: i18next.t("menu:no"),
|
||||||
handler: () => {
|
handler: () => {
|
||||||
args[1]();
|
args[1]();
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -8,6 +8,7 @@ import * as Utils from "../utils";
|
||||||
import PokemonData from "../system/pokemon-data";
|
import PokemonData from "../system/pokemon-data";
|
||||||
import { PokemonHeldItemModifier } from "../modifier/modifier";
|
import { PokemonHeldItemModifier } from "../modifier/modifier";
|
||||||
import MessageUiHandler from "./message-ui-handler";
|
import MessageUiHandler from "./message-ui-handler";
|
||||||
|
import i18next from "i18next";
|
||||||
|
|
||||||
const sessionSlotCount = 5;
|
const sessionSlotCount = 5;
|
||||||
|
|
||||||
|
@ -314,7 +315,7 @@ class SessionSlot extends Phaser.GameObjects.Container {
|
||||||
this.scene.gameData.getSession(this.slotId).then(async sessionData => {
|
this.scene.gameData.getSession(this.slotId).then(async sessionData => {
|
||||||
if (!sessionData) {
|
if (!sessionData) {
|
||||||
this.hasData = false;
|
this.hasData = false;
|
||||||
this.loadingLabel.setText('Empty');
|
this.loadingLabel.setText(i18next.t("menu:empty"));
|
||||||
resolve(false);
|
resolve(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ import { argbFromRgba } from "@material/material-color-utilities";
|
||||||
import { OptionSelectItem } from "./abstact-option-select-ui-handler";
|
import { OptionSelectItem } from "./abstact-option-select-ui-handler";
|
||||||
import { pokemonPrevolutions } from "#app/data/pokemon-evolutions";
|
import { pokemonPrevolutions } from "#app/data/pokemon-evolutions";
|
||||||
import { Variant, getVariantTint } from "#app/data/variant";
|
import { Variant, getVariantTint } from "#app/data/variant";
|
||||||
|
import i18next from "i18next";
|
||||||
|
|
||||||
export type StarterSelectCallback = (starters: Starter[]) => void;
|
export type StarterSelectCallback = (starters: Starter[]) => void;
|
||||||
|
|
||||||
|
@ -1653,7 +1654,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||||
this.clearText();
|
this.clearText();
|
||||||
};
|
};
|
||||||
|
|
||||||
ui.showText('Begin with these Pokémon?', null, () => {
|
ui.showText(i18next.t("menu:confirmStartTeam"), null, () => {
|
||||||
ui.setModeWithoutClear(Mode.CONFIRM, () => {
|
ui.setModeWithoutClear(Mode.CONFIRM, () => {
|
||||||
const startRun = (gameMode: GameModes) => {
|
const startRun = (gameMode: GameModes) => {
|
||||||
this.scene.gameMode = gameModes[gameMode];
|
this.scene.gameMode = gameModes[gameMode];
|
||||||
|
|
Loading…
Reference in New Issue