Added various it translation, added command-ui-handler.ts and pokeball.ts to locales\it and added to src\system\i18n.ts. Added it lang selectable in src\system\settings.ts

This commit is contained in:
Simoninoo 2024-05-04 00:51:49 +02:00
parent c44ec421b0
commit b276657dab
9 changed files with 140 additions and 110 deletions

View File

@ -1,52 +1,52 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const battle: SimpleTranslationEntries = { export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} appeared.", "bossAppeared": "{{bossName}} è apparso.",
"trainerAppeared": "{{trainerName}}\nwould like to battle!", "trainerAppeared": "{{trainerName}}\nvuole lottare!",
"singleWildAppeared": "A wild {{pokemonName}} appeared!", "singleWildAppeared": "Appare {{pokemonName}} selvatico!",
"multiWildAppeared": "A wild {{pokemonName1}}\nand {{pokemonName2}} appeared!", "multiWildAppeared": "Appaiono {{pokemonName1}}\n {{pokemonName2}} selvatici!",
"playerComeBack": "Come back, {{pokemonName}}!", "playerComeBack": "Ritorna, {{pokemonName}}!",
"trainerComeBack": "{{trainerName}} withdrew {{pokemonName}}!", "trainerComeBack": "{{trainerName}} ha ritirato {{pokemonName}}!",
"playerGo": "Go! {{pokemonName}}!", "playerGo": "Vai! {{pokemonName}}!",
"trainerGo": "{{trainerName}} sent out {{pokemonName}}!", "trainerGo": "{{trainerName}} ha mandato {{pokemonName}}!",
"switchQuestion": "Will you switch\n{{pokemonName}}?", "switchQuestion": "Vuoi cambiare\n{{pokemonName}}?",
"trainerDefeated": `You defeated\n{{trainerName}}!`, "trainerDefeated": `Hai sconfitto\n{{trainerName}}!`,
"pokemonCaught": "{{pokemonName}} was caught!", "pokemonCaught": "Preso! {{pokemonName}} è stato catturato!",
"pokemon": "Pokémon", "pokemon": "Pokémon",
"sendOutPokemon": "Go! {{pokemonName}}!", "sendOutPokemon": "Vai! {{pokemonName}}!",
"hitResultCriticalHit": "A critical hit!", "hitResultCriticalHit": "Brutto colpo!",
"hitResultSuperEffective": "It's super effective!", "hitResultSuperEffective": "É superefficace!",
"hitResultNotVeryEffective": "It's not very effective…", "hitResultNotVeryEffective": "Non è molto efficace…",
"hitResultNoEffect": "It doesn't affect {{pokemonName}}!", "hitResultNoEffect": "Non ha effetto su {{pokemonName}}!",
"hitResultOneHitKO": "It's a one-hit KO!", "hitResultOneHitKO": "KO in un colpo!",
"attackFailed": "But it failed!", "attackFailed": "Ma fallisce!",
"attackHitsCount": `Hit {{count}} time(s)!`, "attackHitsCount": `Ha colpito {{count}} volta(e)!`,
"expGain": "{{pokemonName}} gained\n{{exp}} EXP. Points!", "expGain": "{{pokemonName}} riceve\n{{exp}} Punti esperienza!",
"levelUp": "{{pokemonName}} grew to\nLv. {{level}}!", "levelUp": "{{pokemonName}} è salito al\nLv. {{level}}!",
"learnMove": "{{pokemonName}} learned\n{{moveName}}!", "learnMove": "{{pokemonName}} ha imparato\n{{moveName}}!",
"learnMovePrompt": "{{pokemonName}} wants to learn the\nmove {{moveName}}.", "learnMovePrompt": "{{pokemonName}} vuole imparare la\nmossa {{moveName}}.",
"learnMoveLimitReached": "However, {{pokemonName}} already\nknows four moves.", "learnMoveLimitReached": "Ma conosce già 4 mosse.",
"learnMoveReplaceQuestion": "Should a move be forgotten and\nreplaced with {{moveName}}?", "learnMoveReplaceQuestion": "Vuoi far dimenticare una mossa e\nimparare {{moveName}}?",
"learnMoveStopTeaching": "Stop trying to teach\n{{moveName}}?", "learnMoveStopTeaching": "Vuoi impedire l'apprendimento di\n{{moveName}}?",
"learnMoveNotLearned": "{{pokemonName}} did not learn the\nmove {{moveName}}.", "learnMoveNotLearned": "{{pokemonName}} non ha imparato la\nmossa {{moveName}}.",
"learnMoveForgetQuestion": "Which move should be forgotten?", "learnMoveForgetQuestion": "Quale mossa deve dimenticare?",
"learnMoveForgetSuccess": "{{pokemonName}} forgot how to\nuse {{moveName}}.", "learnMoveForgetSuccess": "{{pokemonName}} ha dimenticato\n {{moveName}}.",
"levelCapUp": "The level cap\nhas increased to {{levelCap}}!", "levelCapUp": "Il level cap\nè aumentato a {{levelCap}}!",
"moveNotImplemented": "{{moveName}} is not yet implemented and cannot be selected.", "moveNotImplemented": "{{moveName}} non è ancora stata implementata e non può essere usata.",
"moveDisabled": "{{moveName}} is disabled!", "moveDisabled": "{{moveName}} è disabilitata!",
"noPokeballForce": "An unseen force\nprevents using Poké Balls.", "noPokeballForce": "Una forza sconosciuta\nimpedisce l'uso di Poké Balls.",
"noPokeballTrainer": "You can't catch\nanother trainer's Pokémon!", "noPokeballTrainer": "Non puoi catturare il\nPokémon di un altro allenatore!",
"noPokeballMulti": "You can only throw a Poké Ball\nwhen there is one Pokémon remaining!", "noPokeballMulti": "Puoi lanciare una Poké Ball\nquando ne è rimasto solo uno!",
"noPokeballStrong": "The target Pokémon is too strong to be caught!\nYou need to weaken it first!", "noPokeballStrong": "Il Pokémon è troppo forte per essere catturato!\nDevi prima indebolirlo!",
"noEscapeForce": "An unseen force\nprevents escape.", "noEscapeForce": "Una forza sconosciuta\nti impedisce di fuggire.",
"noEscapeTrainer": "You can't run\nfrom a trainer battle!", "noEscapeTrainer": "Non puoi sottrarti alla\nlotta con un allenatore!",
"noEscapePokemon": "{{pokemonName}}'s {{moveName}}\nprevents {{escapeVerb}}!", "noEscapePokemon": "{{moveName}} di {{pokemonName}} \nti impedisce di{{escapeVerb}}!",
"runAwaySuccess": "You got away safely!", "runAwaySuccess": "Scampato pericolo!",
"runAwayCannotEscape": 'You can\'t escape!', "runAwayCannotEscape": 'Non puoi scappare!',
"escapeVerbSwitch": "switching", "escapeVerbSwitch": "Scambio in corso",
"escapeVerbFlee": "fleeing", "escapeVerbFlee": "fuggire",
"notDisabled": "{{moveName}} is disabled\nno more!", "notDisabled": "{{moveName}} è di nuovo disponibile!",
"skipItemQuestion": "Are you sure you want to skip taking an item?", "skipItemQuestion": "Sei sicuro di non voler prendere un oggetto?",
"eggHatching": "Oh?", "eggHatching": "Oh?",
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?" "ivScannerUseQuestion": "Vuoi usare l'IV Scanner su {{pokemonName}}?"
} as const; } as const;

View File

@ -0,0 +1,9 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Lotta",
"ball": "Pokéball",
"pokemon": "Pokémon",
"run": "Fuga",
"actionMessage": "Cosa deve fare\n{{pokemonName}}?",
} as const;

View File

@ -2,5 +2,5 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const fightUiHandler: SimpleTranslationEntries = { export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP", "pp": "PP",
"power": "POWER", "power": "POTENZA",
} as const; } as const;

View File

@ -1,23 +1,23 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const menuUiHandler: SimpleTranslationEntries = { export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": 'Game Settings', "GAME_SETTINGS": 'Impostazioni',
"ACHIEVEMENTS": "Achievements", "ACHIEVEMENTS": "Achievement",
"STATS": "Stats", "STATS": "Statistiche",
"VOUCHERS": "Vouchers", "VOUCHERS": "Voucher",
"EGG_LIST": "Egg List", "EGG_LIST": "Lista uova",
"EGG_GACHA": "Egg Gacha", "EGG_GACHA": "Gacha uova",
"MANAGE_DATA": "Manage Data", "MANAGE_DATA": "Gestisci dati",
"COMMUNITY": "Community", "COMMUNITY": "Community",
"RETURN_TO_TITLE": "Return To Title", "RETURN_TO_TITLE": "Torna al titolo",
"LOG_OUT": "Log Out", "LOG_OUT": "Log Out",
"slot": "Slot {{slotNumber}}", "slot": "Slot {{slotNumber}}",
"importSession": "Import Session", "importSession": "Importa Sessione",
"importSlotSelect": "Select a slot to import to.", "importSlotSelect": "Seleziona uno slot.",
"exportSession": "Export Session", "exportSession": "Esporta Sessione",
"exportSlotSelect": "Select a slot to export from.", "exportSlotSelect": "Seleziona uno slot.",
"importData": "Import Data", "importData": "Importa Dati",
"exportData": "Export Data", "exportData": "Esporta Dati",
"cancel": "Cancel", "cancel": "Annulla",
"losingProgressionWarning": "You will lose any progress since the beginning of the battle. Proceed?" "losingProgressionWarning": "Perderai i progressi relativi alla lotta corrente, vuoi procedere?"
} as const; } as const;

View File

@ -10,34 +10,34 @@ export const menu: SimpleTranslationEntries = {
"continue": "Continua", "continue": "Continua",
"newGame": "Nuova Partita", "newGame": "Nuova Partita",
"loadGame": "Carica Partita", "loadGame": "Carica Partita",
"dailyRun": "Corsa Giornaliera (Beta)", "dailyRun": "Run Giornaliera (Beta)",
"selectGameMode": "Seleziona una modalità di gioco.", "selectGameMode": "Seleziona una modalità di gioco.",
"logInOrCreateAccount": "Log in or create an account to start. No email required!", "logInOrCreateAccount": "Effettua il log-in o registrati per giocare, non è richiesta nessuna mail!",
"username": "Username", "username": "Username",
"password": "Password", "password": "Password",
"login": "Login", "login": "Login",
"register": "Register", "register": "Registrati",
"emptyUsername": "Username must not be empty", "emptyUsername": "L'username non può essere vuoto",
"invalidLoginUsername": "The provided username is invalid", "invalidLoginUsername": "L'username scelto non è valido",
"invalidRegisterUsername": "Username must only contain letters, numbers, or underscores", "invalidRegisterUsername": "L'username può contenere lettere, numeri o underscore",
"invalidLoginPassword": "The provided password is invalid", "invalidLoginPassword": "La password sceltra non è valida",
"invalidRegisterPassword": "Password must be 6 characters or longer", "invalidRegisterPassword": "La Password deve avere 6 o più caratteri",
"usernameAlreadyUsed": "The provided username is already in use", "usernameAlreadyUsed": "L'username scelto è già in uso",
"accountNonExistent": "The provided user does not exist", "accountNonExistent": "L'username inserito non è valido",
"unmatchingPassword": "The provided password does not match", "unmatchingPassword": "La password inserita non corrisponde",
"passwordNotMatchingConfirmPassword": "Password must match confirm password", "passwordNotMatchingConfirmPassword": "Le password devono essere uguali!",
"confirmPassword": "Confirm Password", "confirmPassword": "Conferma password",
"registrationAgeWarning": "By registering, you confirm you are of 13 years of age or older.", "registrationAgeWarning": "Con la registrazione, confermi di avere 13 anni o più.",
"backToLogin": "Back to Login", "backToLogin": "Torna al login",
"failedToLoadSaveData": "Failed to load save data. Please reload the page.\nIf this continues, please contact the administrator.", "failedToLoadSaveData": "Impossibile caricare i dati, prova a ricaricare la pagina.\nSe il problema persiste, contatta un amministratore.",
"sessionSuccess": "Session loaded successfully.", "sessionSuccess": "Sessione caricata con successo.",
"failedToLoadSession": "Your session data could not be loaded.\nIt may be corrupted.", "failedToLoadSession": "I tuoi dati relativi alla sessione non sono stati caricati.\nPotrebbero essere corrotti.",
"boyOrGirl": "Are you a boy or a girl?", "boyOrGirl": "Sei un ragazzo o una ragazza?",
"boy": "Boy", "boy": "Ragazzo",
"girl": "Girl", "girl": "Ragazza",
"dailyRankings": "Daily Rankings", "dailyRankings": "Classifica Giornaliera",
"weeklyRankings": "Weekly Rankings", "weeklyRankings": "Classifica Settimanale",
"noRankings": "No Rankings", "noRankings": "Classifica Assente",
"loading": "Loading…", "loading": "Caricamento",
"playersOnline": "Players Online" "playersOnline": "Giocatori Online"
} as const; } as const;

View File

@ -0,0 +1,10 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Ball",
"greatBall": "Mega Ball",
"ultraBall": "Ultra Ball",
"rogueBall": "Rogue Ball",
"masterBall": "Master Ball",
"luxuryBall": "Chic Ball",
} as const;

View File

@ -1,41 +1,44 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const tutorial: SimpleTranslationEntries = { export const tutorial: SimpleTranslationEntries = {
"intro": `Benvenuto in PokéRogue! Questo gioco si concentra sulle battaglie, con elementi roguelite. "intro": `Benvenuto in PokéRogue! Questo gioco è incentrato sulle lotte, con elementi roguelite.
$Questo gioco non è monetizzato e non siamo proprietari di Pokemon e Assets presenti nel gioco. $PokéRogue non è monetizzato e non siamo proprietari di Pokemon e Assets presenti nel gioco.
$Il gioco è work-in-progress ma giocabile al 100%.\nPer reportare eventuali bugs è possibile discuterne sul nostro Discord. $Il gioco è totalmente funzionante ma in continuo aggiornamento.
$Se il game risulta 'lento', assicurati di aver abilitato l'Accelerazione Hardware nelle impostazioni del tuo Browser`, $Per riportare eventuali bugs è possibile discuterne sul nostro Discord.
$Se il gioco risulta 'lento', assicurati di aver abilitato l'Accelerazione Hardware nelle impostazioni del tuo Browser`,
"accessMenu": `Per accedere al menù, press M o Esc.\nDal menù puoi cambiare impostazioni, controllare la wiki e accedere a varie features.`, "accessMenu": `Per accedere al menù, press M o Esc.\nDal menù puoi cambiare impostazioni, controllare la wiki e accedere a varie features.`,
"menu": `Da questo menù puoi accedere alle impostazioni. "menu": `Da questo menù puoi accedere alle impostazioni.
$Dalle impostazioni puoi cambiare velocità di gioco, stile di finestra e altre opzioni. $Qui puoi cambiare velocità di gioco, cornice e altre opzioni.
$Ci sono varie funzionalità, controlla bene e non perderti nulla!`, $Ci sono varie funzionalità, controlla bene e non perderti nulla!`,
"starterSelect": `Da questa schermata puoi selezionare il tuo starter.\nQuesti sono i membri iniziali del tuo parti. "starterSelect": `Da questa schermata puoi selezionare il tuo starter, \nscegliendo tra quelli sbloccati.
$Ogni starter ha un valore. Puoi avere fino a \n6 Pokèmon, avendo a disposizione un massimo di 10 punti. $Ogni starter ha un valore numerico. Puoi avere fino a \n6 Pokèmon, avendo a disposizione un massimo di 10 punti.
$Puoi anche selezionare Sesso, Abilità, e Forma a seconda delle\nvarianti che hai catturato o schiuso. $Puoi anche selezionare sesso, abilità e forma a seconda delle\nvarianti che hai catturato o schiuso.
$Le IVs di una specie sono le migliori rispetto a tutte quelle che hai\ncatturato o schiuso, quindi prova a catturarne il piu possibile!`, $Le IVs di una specie sono le migliori rispetto a tutte quelle \nche hai catturato o schiuso.
$Prova a catturarne il piu possibile!`,
"pokerus": `Giornalmente 3 Starter casuali disponibili avranno il bordo viola. "pokerus": `Ogni giorno ci saranno 3 Pokémon con Pokérus, \ndelineati da un bordo viola.
$Se possiedi uno di questi starter,\nprova ad aggiungerlo al party. Ricorda di controllare le info!`, $Se possiedi uno di questi starter, prova ad aggiungerlo \nal party. Ricorda di controllare le info!`,
"statChange": `I cambiamenti alle statistiche persistono fintanto che i tuoi pokèmon resteranno in campo. "statChange": `I cambiamenti alle statistiche persistono fintanto che i tuoi pokèmon resteranno in campo.
$I tuoi pokemon verranno richiamati quando incontrerai un allenatore o al cambiamento di bioma. $I tuoi pokemon verranno richiamati quando incontrerai un allenatore o al cambiamento di bioma.
$Puoi anche vedere i cambiamenti alle statistiche in corso tenendo premuto C o Shift`, $Puoi anche vedere i cambiamenti alle statistiche in corso tenendo premuto C o Shift`,
"selectItem": `Dopo ogni battaglia avrai disponibili tre item.\nPotrai prenderne solo uno. "selectItem": `Dopo ogni lotta puoi scegliere solo 1 oggetto tra 3 disponibili.
$Questi spaziano tra consumabili, item tenuti da Pokèmon o con un effetto passivo permanente. $Sono presenti varie tipologie di strumento, i principali sono \nconsumabili, assegnabili o con effetto passivo permanente.
$La maggior parte degli Item non Consumabili possono stackare in diversi modi. $La maggior parte degli oggetti non consumabili possono essere accumulati.
$Alcuni Item risulteranno disponibili solo se possono essere usati, come Item Evolutivi. $Alcuni oggetti saranno disponibili nel momento che \npotranno essere utilizzati, ad esempio gli item evolutivi.
$Puoi anche passare un Item tenuto da un Pokèmon ad un altro attraverso l'opzione 'trasferisci strumento'. $Puoi anche trasferire un oggetto assegnato attraverso l'opzione 'trasferisci strumento'.
$L'opzione 'trasferisci strumento' sarà disponibile solo dopo aver assegnato uno strumento ad un Pokèmon. $L'opzione 'trasferisci strumento' sarà disponibile solo dopo aver assegnato uno strumento ad un Pokèmon.
$Puoi acquistare consumabili con le monete, progredendo saranno poi disponibili ulteriori oggetti. $Con le monete potrai acquistare dei consumabili, progredendo saranno poi disponibili ulteriori oggetti.
$Assicurati di fare un acquisto prima di selezionare un item casuale, poichè passerai subito alla lotta successiva.`, $Assicurati di fare un acquisto prima di selezionare un oggetto, poichè passerai subito alla lotta successiva.`,
"eggGacha": `Da questa schermata, puoi riscattare i tuoi vouchers in cambio di\nuova Pokèmon. "eggGacha": `Da questa schermata, puoi riscattare i tuoi vouchers \nin cambio di uova Pokèmon.
$Le uova vanno schiuse e saranno sempre più vicine alla schiusura dopo\nogni battaglia. Le uova più rare impiegheranno più battaglie per la schiusura. $Le uova vanno schiuse e saranno sempre più vicine alla \nschiusura dopo ogni lotta.
$I Pokémon schiusi non verranno aggiunti alla tua squadra, saranno\naggiunti ai tuoi starters. $Le uova più rare impiegheranno più lotte per la schiusura.
$I Pokémon schiusi non verranno aggiunti alla tua squadra\n ma saranno disponibili nei tuoi starters.
$I Pokémon schiusi generalmente hanno IVs migliori rispetto ai\n Pokémon selvatici. $I Pokémon schiusi generalmente hanno IVs migliori rispetto ai\n Pokémon selvatici.
$Alcuni Pokémon possono essere ottenuti solo tramite uova. $Alcuni Pokémon possono essere ottenuti solo tramite uova.
$Ci sono 3 diversi macchinari con differenti\nbonus, scegli quello che preferisci!`, $Ci sono 3 diversi macchinari con differenti\nbonus, scegli quello che preferisci!`,

View File

@ -33,6 +33,7 @@ import { pokeball as enPokeball } from '../locales/en/pokeball';
import { pokeball as esPokeball } from '../locales/es/pokeball'; import { pokeball as esPokeball } from '../locales/es/pokeball';
import { pokeball as frPokeball } from '../locales/fr/pokeball'; import { pokeball as frPokeball } from '../locales/fr/pokeball';
import { pokeball as dePokeball } from '../locales/de/pokeball'; import { pokeball as dePokeball } from '../locales/de/pokeball';
import { pokeball as itPokeball } from '../locales/it/pokeball';
import { pokemon as enPokemon } from '../locales/en/pokemon'; import { pokemon as enPokemon } from '../locales/en/pokemon';
import { pokemon as esPokemon } from '../locales/es/pokemon'; import { pokemon as esPokemon } from '../locales/es/pokemon';
@ -49,6 +50,7 @@ import { commandUiHandler as enCommandUiHandler } from '../locales/en/command-ui
import { commandUiHandler as esCommandUiHandler } from '../locales/es/command-ui-handler'; import { commandUiHandler as esCommandUiHandler } from '../locales/es/command-ui-handler';
import { commandUiHandler as frCommandUiHandler } from '../locales/fr/command-ui-handler'; import { commandUiHandler as frCommandUiHandler } from '../locales/fr/command-ui-handler';
import { commandUiHandler as deCommandUiHandler } from '../locales/de/command-ui-handler'; import { commandUiHandler as deCommandUiHandler } from '../locales/de/command-ui-handler';
import { commandUiHandler as itCommandUiHandler } from '../locales/it/command-ui-handler';
import { fightUiHandler as enFightUiHandler } from '../locales/en/fight-ui-handler'; import { fightUiHandler as enFightUiHandler } from '../locales/en/fight-ui-handler';
import { fightUiHandler as esFightUiHandler } from '../locales/es/fight-ui-handler'; import { fightUiHandler as esFightUiHandler } from '../locales/es/fight-ui-handler';
@ -165,6 +167,8 @@ export function initI18n(): void {
pokemonStat: itPokemonStat, pokemonStat: itPokemonStat,
fightUiHandler: itFightUiHandler, fightUiHandler: itFightUiHandler,
tutorial: itTutorial, tutorial: itTutorial,
commandUiHandler: itCommandUiHandler,
pokeball: itPokeball,
}, },
de: { de: {
menu: deMenu, menu: deMenu,

View File

@ -176,6 +176,10 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer)
label: 'English', label: 'English',
handler: () => changeLocaleHandler('en') handler: () => changeLocaleHandler('en')
}, },
{
label: 'Italian',
handler: () => changeLocaleHandler('it')
},
{ {
label: 'Spanish', label: 'Spanish',
handler: () => changeLocaleHandler('es') handler: () => changeLocaleHandler('es')