Added Portuguese (Brazil) translations (#766)
* Add support for Portuguese (Brazil) locale, except for moves and abilities. * All ptBR translations, names of moves and abilities maintained in english. * Small fixes * Updated Frisk and fixed Plus and Minus descriptions * Changed the settings label to "Português (BR)"pull/403/head^2
parent
6d73500aeb
commit
2a32189ea1
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,53 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const battle: SimpleTranslationEntries = {
|
||||||
|
"bossAppeared": "{{bossName}} apareceu.",
|
||||||
|
"trainerAppeared": "{{trainerName}}\nquer batalhar!",
|
||||||
|
"singleWildAppeared": "Um {{pokemonName}} selvagem apareceu!",
|
||||||
|
"multiWildAppeared": "Um {{pokemonName1}} e um {{pokemonName2}} selvagens\napareceram!",
|
||||||
|
"playerComeBack": "{{pokemonName}}, retorne!",
|
||||||
|
"trainerComeBack": "{{trainerName}} retirou {{pokemonName}} da batalha!",
|
||||||
|
"playerGo": "{{pokemonName}}, eu escolho você!",
|
||||||
|
"trainerGo": "{{trainerName}} enviou {{pokemonName}}!",
|
||||||
|
"switchQuestion": "Quer trocar\n{{pokemonName}}?",
|
||||||
|
"trainerDefeated": "Você derrotou\n{{trainerName}}!",
|
||||||
|
"pokemonCaught": "{{pokemonName}} foi capturado!",
|
||||||
|
"pokemon": "Pokémon",
|
||||||
|
"sendOutPokemon": "{{pokemonName}}, eu escolho você!!",
|
||||||
|
"hitResultCriticalHit": "Um golpe crítico!",
|
||||||
|
"hitResultSuperEffective": "É supereficaz!",
|
||||||
|
"hitResultNotVeryEffective": "É pouco eficaz...",
|
||||||
|
"hitResultNoEffect": "Isso não afeta {{pokemonName}}!",
|
||||||
|
"hitResultOneHitKO": "Foi um nocaute de um golpe!",
|
||||||
|
"attackFailed": "Mas falhou!",
|
||||||
|
"attackHitsCount": `Acertou {{count}} vezes.`,
|
||||||
|
"expGain": "{{pokemonName}} ganhou\n{{exp}} pontos de experiência.",
|
||||||
|
"levelUp": "{{pokemonName}} subiu para \nNv. {{level}}!",
|
||||||
|
"learnMove": "{{pokemonName}} aprendeu {{moveName}}!",
|
||||||
|
"learnMovePrompt": "{{pokemonName}} quer aprender\n{{moveName}}.",
|
||||||
|
"learnMoveLimitReached": "Porém, {{pokemonName}} já sabe\nquatro movimentos.",
|
||||||
|
"learnMoveReplaceQuestion": "Quer substituir um de seus movimentos por {{moveName}}?",
|
||||||
|
"learnMoveStopTeaching": "Você não quer aprender\n{{moveName}}?",
|
||||||
|
"learnMoveNotLearned": "{{pokemonName}} não aprendeu {{moveName}}.",
|
||||||
|
"learnMoveForgetQuestion": "Qual movimento quer esquecer?",
|
||||||
|
"learnMoveForgetSuccess": "{{pokemonName}} esqueceu como usar {{moveName}}.",
|
||||||
|
"levelCapUp": "O nível máximo aumentou\npara {{levelCap}}!",
|
||||||
|
"moveNotImplemented": "{{moveName}} ainda não foi implementado e não pode ser usado.",
|
||||||
|
"moveNoPP": "Não há mais PP\npara esse movimento!",
|
||||||
|
"moveDisabled": "Não se pode usar {{moveName}} porque foi desabilitado!",
|
||||||
|
"noPokeballForce": "Uma força misteriosa\nte impede de usar Poké Bolas.",
|
||||||
|
"noPokeballTrainer": "Não se pode capturar\nPokémon dos outros!",
|
||||||
|
"noPokeballMulti": "Não se pode lançar Poké Bolas\nquando há mais de um Pokémon!",
|
||||||
|
"noPokeballStrong": "Este Pokémon é forte demais para ser capturado!\nÉ preciso enfraquecê-lo primeiro!",
|
||||||
|
"noEscapeForce": "Uma força misteriosa\nte impede de fugir.",
|
||||||
|
"noEscapeTrainer": "Não se pode fugir de\nbatalhas contra treinadores!",
|
||||||
|
"noEscapePokemon": "O movimento {{moveName}} de {{pokemonName}} te impede de fugir!",
|
||||||
|
"runAwaySuccess": "Você fugiu com sucesso",
|
||||||
|
"runAwayCannotEscape": "Você nao conseguiu fugir!",
|
||||||
|
"escapeVerbSwitch": "trocar",
|
||||||
|
"escapeVerbFlee": "fugir",
|
||||||
|
"notDisabled": "O movimento {{moveName}}\nnão está mais desabilitado!",
|
||||||
|
"skipItemQuestion": "Tem certeza de que não quer escolher um item?",
|
||||||
|
"eggHatching": "Opa?",
|
||||||
|
"ivScannerUseQuestion": "Quer usar o Scanner de IVs em {{pokemonName}}?"
|
||||||
|
} as const;
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const commandUiHandler: SimpleTranslationEntries = {
|
||||||
|
"fight": "Lutar",
|
||||||
|
"ball": "Bolas",
|
||||||
|
"pokemon": "Pokémon",
|
||||||
|
"run": "Fugir",
|
||||||
|
"actionMessage": "O que {{pokemonName}}\ndeve fazer?",
|
||||||
|
} as const;
|
|
@ -0,0 +1,32 @@
|
||||||
|
import { ability } from "./ability";
|
||||||
|
import { battle } from "./battle";
|
||||||
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { growth } from "./growth";
|
||||||
|
import { menu } from "./menu";
|
||||||
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
|
import { move } from "./move";
|
||||||
|
import { nature } from "./nature";
|
||||||
|
import { pokeball } from "./pokeball";
|
||||||
|
import { pokemon } from "./pokemon";
|
||||||
|
import { pokemonStat } from "./pokemon-stat";
|
||||||
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
|
import { tutorial } from "./tutorial";
|
||||||
|
|
||||||
|
|
||||||
|
export const ptBrConfig = {
|
||||||
|
ability: ability,
|
||||||
|
battle: battle,
|
||||||
|
commandUiHandler: commandUiHandler,
|
||||||
|
fightUiHandler: fightUiHandler,
|
||||||
|
menuUiHandler: menuUiHandler,
|
||||||
|
menu: menu,
|
||||||
|
move: move,
|
||||||
|
pokeball: pokeball,
|
||||||
|
pokemonStat: pokemonStat,
|
||||||
|
pokemon: pokemon,
|
||||||
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
|
tutorial: tutorial,
|
||||||
|
nature: nature,
|
||||||
|
growth: growth
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const fightUiHandler: SimpleTranslationEntries = {
|
||||||
|
"pp": "PP",
|
||||||
|
"power": "Poder",
|
||||||
|
"accuracy": "Precisão",
|
||||||
|
} as const;
|
|
@ -0,0 +1,10 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const growth: SimpleTranslationEntries = {
|
||||||
|
"Erratic": "Instável",
|
||||||
|
"Fast": "Rápido",
|
||||||
|
"Medium_Fast": "Meio Rápido",
|
||||||
|
"Medium_Slow": "Meio Lento",
|
||||||
|
"Slow": "Lento",
|
||||||
|
"Fluctuating": "Flutuante"
|
||||||
|
} as const;
|
|
@ -0,0 +1,23 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const menuUiHandler: SimpleTranslationEntries = {
|
||||||
|
"GAME_SETTINGS": 'Configurações',
|
||||||
|
"ACHIEVEMENTS": "Conquistas",
|
||||||
|
"STATS": "Estatísticas",
|
||||||
|
"VOUCHERS": "Vouchers",
|
||||||
|
"EGG_LIST": "Incubadora",
|
||||||
|
"EGG_GACHA": "Gacha de Ovos",
|
||||||
|
"MANAGE_DATA": "Gerenciar Dados",
|
||||||
|
"COMMUNITY": "Comunidade",
|
||||||
|
"RETURN_TO_TITLE": "Voltar ao Início",
|
||||||
|
"LOG_OUT": "Logout",
|
||||||
|
"slot": "Slot {{slotNumber}}",
|
||||||
|
"importSession": "Importar Sessão",
|
||||||
|
"importSlotSelect": "Selecione um slot para importar.",
|
||||||
|
"exportSession": "Exportar Sessão",
|
||||||
|
"exportSlotSelect": "Selecione um slot para exportar.",
|
||||||
|
"importData": "Importar Dados",
|
||||||
|
"exportData": "Exportar Dados",
|
||||||
|
"cancel": "Cancelar",
|
||||||
|
"losingProgressionWarning": "Você vai perder todo o progresso desde o início da batalha. Confirmar?"
|
||||||
|
} as const;
|
|
@ -0,0 +1,46 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
|
||||||
|
* contents or directly related to Pokemon data. This includes menu navigation, settings,
|
||||||
|
* account interactions, descriptive text, etc.
|
||||||
|
*/
|
||||||
|
export const menu: SimpleTranslationEntries = {
|
||||||
|
"cancel": "Cancelar",
|
||||||
|
"continue": "Continuar",
|
||||||
|
"dailyRun": "Desafio diário (Beta)",
|
||||||
|
"loadGame": "Carregar Jogo",
|
||||||
|
"newGame": "Novo Jogo",
|
||||||
|
"selectGameMode": "Escolha um modo de jogo.",
|
||||||
|
"logInOrCreateAccount": "Inicie uma sessão ou crie uma conta para começar. Não é necessário email!",
|
||||||
|
"username": "Nome de Usuário",
|
||||||
|
"password": "Senha",
|
||||||
|
"login": "Iniciar sessão",
|
||||||
|
"register": "Registrar-se",
|
||||||
|
"emptyUsername": "Nome de usuário vazio",
|
||||||
|
"invalidLoginUsername": "Nome de usuário inválido",
|
||||||
|
"invalidRegisterUsername": "O nome de usuário só pode conter letras, números e sublinhados",
|
||||||
|
"invalidLoginPassword": "Senha inválida",
|
||||||
|
"invalidRegisterPassword": "A senha deve ter pelo menos 6 caracteres",
|
||||||
|
"usernameAlreadyUsed": "Esse nome de usuário já está em uso",
|
||||||
|
"accountNonExistent": "Esse nome de usuário não existe",
|
||||||
|
"unmatchingPassword": "Senha incorreta",
|
||||||
|
"passwordNotMatchingConfirmPassword": "As senhas não coincidem",
|
||||||
|
"confirmPassword": "Confirmar senha",
|
||||||
|
"registrationAgeWarning": "Se registrando, você confirma que tem pelo menos 13 anos de idade.",
|
||||||
|
"backToLogin": "Voltar ao Login",
|
||||||
|
"failedToLoadSaveData": "Não foi possível carregar os dados de salvamento. Por favor, recarregue a página.\nSe a falha persistir, contate o administrador.",
|
||||||
|
"sessionSuccess": "Sessão carregada com sucesso.",
|
||||||
|
"failedToLoadSession": "Não foi possível carregar os dados da sua sessão.\nEles podem estar corrompidos.",
|
||||||
|
"boyOrGirl": "Você é um menino ou uma menina?",
|
||||||
|
"boy": "Menino",
|
||||||
|
"girl": "Menina",
|
||||||
|
"dailyRankings": "Classificação Diária",
|
||||||
|
"weeklyRankings": "Classificação Semanal",
|
||||||
|
"noRankings": "Sem Classificação",
|
||||||
|
"loading": "Carregando…",
|
||||||
|
"playersOnline": "Jogadores Ativos",
|
||||||
|
"empty": "Vazio",
|
||||||
|
"yes": "Sim",
|
||||||
|
"no": "Não",
|
||||||
|
} as const;
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,29 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const nature: SimpleTranslationEntries = {
|
||||||
|
"Hardy": "Destemida",
|
||||||
|
"Lonely": "Solitária",
|
||||||
|
"Brave": "Valente",
|
||||||
|
"Adamant": "Rígida",
|
||||||
|
"Naughty": "Teimosa",
|
||||||
|
"Bold": "Corajosa",
|
||||||
|
"Docile": "Dócil",
|
||||||
|
"Relaxed": "Descontraída",
|
||||||
|
"Impish": "Inquieta",
|
||||||
|
"Lax": "Relaxada",
|
||||||
|
"Timid": "Tímida",
|
||||||
|
"Hasty": "Apressada",
|
||||||
|
"Serious": "Séria",
|
||||||
|
"Jolly": "Alegre",
|
||||||
|
"Naive": "Ingênua",
|
||||||
|
"Modest": "Modesta",
|
||||||
|
"Mild": "Mansa",
|
||||||
|
"Quiet": "Quieta",
|
||||||
|
"Bashful": "Atrapalhada",
|
||||||
|
"Rash": "Imprudente",
|
||||||
|
"Calm": "Calma",
|
||||||
|
"Gentle": "Gentil",
|
||||||
|
"Sassy": "Atrevida",
|
||||||
|
"Careful": "Cuidadosa",
|
||||||
|
"Quirky": "Peculiar",
|
||||||
|
} as const;
|
|
@ -0,0 +1,10 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const pokeball: SimpleTranslationEntries = {
|
||||||
|
"pokeBall": "Poké Bola",
|
||||||
|
"greatBall": "Grande Bola",
|
||||||
|
"ultraBall": "Ultra Bola",
|
||||||
|
"rogueBall": "Rogue Bola",
|
||||||
|
"masterBall": "Master Bola",
|
||||||
|
"luxuryBall": "Bola de Luxo",
|
||||||
|
} as const;
|
|
@ -0,0 +1,16 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const pokemonStat: SimpleTranslationEntries = {
|
||||||
|
"HP": "PS",
|
||||||
|
"HPshortened": "PS",
|
||||||
|
"ATK": "Ataque",
|
||||||
|
"ATKshortened": "Ata",
|
||||||
|
"DEF": "Defesa",
|
||||||
|
"DEFshortened": "Def",
|
||||||
|
"SPATK": "At. Esp.",
|
||||||
|
"SPATKshortened": "AtEsp",
|
||||||
|
"SPDEF": "Def. Esp.",
|
||||||
|
"SPDEFshortened": "DefEsp",
|
||||||
|
"SPD": "Veloc.",
|
||||||
|
"SPDshortened": "Veloc."
|
||||||
|
} as const;
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,32 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
|
||||||
|
* contents or directly related to Pokemon data. This includes menu navigation, settings,
|
||||||
|
* account interactions, descriptive text, etc.
|
||||||
|
*/
|
||||||
|
export const starterSelectUiHandler: SimpleTranslationEntries = {
|
||||||
|
"confirmStartTeam": 'Começar com esses Pokémon?',
|
||||||
|
"growthRate": "Crescimento:",
|
||||||
|
"ability": "Hab.:",
|
||||||
|
"passive": "Passiva:",
|
||||||
|
"nature": "Nature:",
|
||||||
|
"eggMoves": "Mov. de Ovo",
|
||||||
|
"start": "Iniciar",
|
||||||
|
"addToParty": "Adicionar à equipe",
|
||||||
|
"toggleIVs": "Mostrar IVs",
|
||||||
|
"manageMoves": "Mudar Movimentos",
|
||||||
|
"useCandies": "Usar Doces",
|
||||||
|
"selectMoveSwapOut": "Escolha um movimento para substituir.",
|
||||||
|
"selectMoveSwapWith": "Escolha o movimento que substituirá",
|
||||||
|
"unlockPassive": "Aprender Passiva",
|
||||||
|
"reduceCost": "Reduzir Custo",
|
||||||
|
"cycleShiny": "R: Mudar Shiny",
|
||||||
|
"cycleForm": 'F: Mudar Forma',
|
||||||
|
"cycleGender": 'G: Mudar Gênero',
|
||||||
|
"cycleAbility": 'E: Mudar Habilidade',
|
||||||
|
"cycleNature": 'N: Mudar Nature',
|
||||||
|
"cycleVariant": 'V: Mudar Variante',
|
||||||
|
"enablePassive": "Ativar Passiva",
|
||||||
|
"disablePassive": "Desativar Passiva"
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const tutorial: SimpleTranslationEntries = {
|
||||||
|
"intro": `Bem-vindo ao PokéRogue! Este é um jogo de Pokémon feito por fãs focado em batalha com elementos roguelite.
|
||||||
|
$Este jogo não é monetizado e não reivindicamos propriedade de Pokémon nem dos ativos protegidos por direitos autorais usados.
|
||||||
|
$O jogo é um trabalho em andamento, mas totalmente jogável.\nPara relatórios de bugs, use a comunidade no Discord.
|
||||||
|
$Se o jogo rodar lentamente, certifique-se de que a 'Aceleração de hardware' esteja ativada nas configurações do seu navegador.`,
|
||||||
|
|
||||||
|
"accessMenu": `Para acessar o menu, aperte M ou Esc.
|
||||||
|
$O menu contém configurações e diversas funções.`,
|
||||||
|
|
||||||
|
"menu": `A partir deste menu, você pode acessar as configurações.
|
||||||
|
$Nas configurações, você pode alterar a velocidade do jogo, o estilo da janela e outras opções.
|
||||||
|
$Existem também vários outros recursos aqui, então não deixe de conferir todos eles!`,
|
||||||
|
|
||||||
|
"starterSelect": `Nessa tela, você pode selecionar seus iniciais.\nEsses são os Pokémon iniciais da sua equipe.
|
||||||
|
$Cada inicial tem seu próprio custo. Sua equipe pode ter até \n6 membros contando que o preço não ultrapasse 10.
|
||||||
|
$Você pode também selecionar o gênero, habilidade, e formas dependendo \ndas variantes que você capturou ou chocou.
|
||||||
|
$Os IVs da espécie são os melhores de todos que você \njá capturou ou chocou, então tente conseguir vários Pokémon da mesma espécie!`,
|
||||||
|
|
||||||
|
"pokerus": `Todo dia, 3 Pokémon iniciais ficam com uma borda roxa.
|
||||||
|
$Caso veja um inicial que você possui com uma dessa, tente\nadicioná-lo a sua equipe. Lembre-se de olhar seu sumário!`,
|
||||||
|
|
||||||
|
"statChange": `As mudanças de estatísticas se mantém depois do combate\ndesde que o Pokémon não seja trocado.
|
||||||
|
$Seus Pokémon voltam a suas Poké Bolas antes de batalhas contra treinadores e de entrar em um novo bioma.
|
||||||
|
$Também é possível ver as mudanças de estatísticas dos Pokémon em campo mantendo pressionado C ou Shift.`,
|
||||||
|
|
||||||
|
"selectItem": `Após cada batalha você pode escolher entre 3 itens aleatórios.\nVocê pode escolher apenas um.
|
||||||
|
$Esses variam entre consumíveis, itens de segurar, e itens passivos permanentes.
|
||||||
|
$A maioria dos efeitos de itens não consumíveis serão acumulados de várias maneiras.
|
||||||
|
$Alguns itens só aparecerão se puderem ser usados, por exemplo, itens de evolução.
|
||||||
|
$Você também pode transferir itens de segurar entre os Pokémon utilizando a opção de transferir.
|
||||||
|
$A opção de transferir irá aparecer no canto inferior direito assim que você obter um item de segurar.
|
||||||
|
$Você pode comprar itens consumíveis com dinheiro, e uma maior variedade ficará disponível conforme você for mais longe.
|
||||||
|
$Certifique-se de comprá-los antes de escolher seu item aleatório. Ao escolher, a próxima batalha começará.`,
|
||||||
|
|
||||||
|
"eggGacha": `Nesta tela você pode trocar seus vouchers\npor ovos de Pokémon.
|
||||||
|
$Ovos ficam mais próximos de chocar depois de cada batalha.\nOvos raros demoram mais para chocar.
|
||||||
|
$Pokémon chocados não serão adicionados a sua equipe,\nmas sim aos seus iniciais.
|
||||||
|
$Pokémon chocados geralmente possuem IVs melhores\nque Pokémon selvagens.
|
||||||
|
$Alguns Pokémon só podem ser obtidos através de seus ovos.
|
||||||
|
$Há 3 máquinas, cada uma com um bônus diferente,\nentão escolha a que mais lhe convém!`,
|
||||||
|
} as const;
|
|
@ -6,6 +6,7 @@ import { enConfig } from '#app/locales/en/config.js';
|
||||||
import { esConfig } from '#app/locales/es/config.js';
|
import { esConfig } from '#app/locales/es/config.js';
|
||||||
import { frConfig } from '#app/locales/fr/config.js';
|
import { frConfig } from '#app/locales/fr/config.js';
|
||||||
import { itConfig } from '#app/locales/it/config.js';
|
import { itConfig } from '#app/locales/it/config.js';
|
||||||
|
import { ptBrConfig } from '#app/locales/pt_BR/config.js';
|
||||||
import { zhCnConfig } from '#app/locales/zh_CN/config.js';
|
import { zhCnConfig } from '#app/locales/zh_CN/config.js';
|
||||||
|
|
||||||
export interface SimpleTranslationEntries {
|
export interface SimpleTranslationEntries {
|
||||||
|
@ -59,7 +60,7 @@ export function initI18n(): void {
|
||||||
i18next.use(LanguageDetector).init({
|
i18next.use(LanguageDetector).init({
|
||||||
lng: lang,
|
lng: lang,
|
||||||
fallbackLng: 'en',
|
fallbackLng: 'en',
|
||||||
supportedLngs: ['en', 'es', 'fr', 'it', 'de', 'zh_CN'],
|
supportedLngs: ['en', 'es', 'fr', 'it', 'de', 'zh_CN','pt_BR'],
|
||||||
debug: true,
|
debug: true,
|
||||||
interpolation: {
|
interpolation: {
|
||||||
escapeValue: false,
|
escapeValue: false,
|
||||||
|
@ -80,6 +81,9 @@ export function initI18n(): void {
|
||||||
de: {
|
de: {
|
||||||
...deConfig
|
...deConfig
|
||||||
},
|
},
|
||||||
|
pt_BR: {
|
||||||
|
...ptBrConfig
|
||||||
|
},
|
||||||
zh_CN: {
|
zh_CN: {
|
||||||
...zhCnConfig
|
...zhCnConfig
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
|
import SettingsUiHandler from "#app/ui/settings-ui-handler";
|
||||||
|
import { Mode } from "#app/ui/ui";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import BattleScene from "../battle-scene";
|
import BattleScene from "../battle-scene";
|
||||||
import { hasTouchscreen } from "../touch-controls";
|
import { hasTouchscreen } from "../touch-controls";
|
||||||
import { updateWindowType } from "../ui/ui-theme";
|
import { updateWindowType } from "../ui/ui-theme";
|
||||||
import { PlayerGender } from "./game-data";
|
import { PlayerGender } from "./game-data";
|
||||||
import { Mode } from "#app/ui/ui";
|
|
||||||
import SettingsUiHandler from "#app/ui/settings-ui-handler";
|
|
||||||
|
|
||||||
export enum Setting {
|
export enum Setting {
|
||||||
Game_Speed = "GAME_SPEED",
|
Game_Speed = "GAME_SPEED",
|
||||||
|
@ -40,28 +40,28 @@ export interface SettingDefaults {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const settingOptions: SettingOptions = {
|
export const settingOptions: SettingOptions = {
|
||||||
[Setting.Game_Speed]: [ '1x', '1.25x', '1.5x', '2x', '2.5x', '3x', '4x', '5x' ],
|
[Setting.Game_Speed]: ['1x', '1.25x', '1.5x', '2x', '2.5x', '3x', '4x', '5x'],
|
||||||
[Setting.Master_Volume]: new Array(11).fill(null).map((_, i) => i ? (i * 10).toString() : 'Mute'),
|
[Setting.Master_Volume]: new Array(11).fill(null).map((_, i) => i ? (i * 10).toString() : 'Mute'),
|
||||||
[Setting.BGM_Volume]: new Array(11).fill(null).map((_, i) => i ? (i * 10).toString() : 'Mute'),
|
[Setting.BGM_Volume]: new Array(11).fill(null).map((_, i) => i ? (i * 10).toString() : 'Mute'),
|
||||||
[Setting.SE_Volume]: new Array(11).fill(null).map((_, i) => i ? (i * 10).toString() : 'Mute'),
|
[Setting.SE_Volume]: new Array(11).fill(null).map((_, i) => i ? (i * 10).toString() : 'Mute'),
|
||||||
[Setting.Language]: [ 'English', 'Change' ],
|
[Setting.Language]: ['English', 'Change'],
|
||||||
[Setting.Damage_Numbers]: [ 'Off', 'Simple', 'Fancy' ],
|
[Setting.Damage_Numbers]: ['Off', 'Simple', 'Fancy'],
|
||||||
[Setting.UI_Theme]: [ 'Default', 'Legacy' ],
|
[Setting.UI_Theme]: ['Default', 'Legacy'],
|
||||||
[Setting.Window_Type]: new Array(5).fill(null).map((_, i) => (i + 1).toString()),
|
[Setting.Window_Type]: new Array(5).fill(null).map((_, i) => (i + 1).toString()),
|
||||||
[Setting.Tutorials]: [ 'Off', 'On' ],
|
[Setting.Tutorials]: ['Off', 'On'],
|
||||||
[Setting.Enable_Retries]: [ 'Off', 'On' ],
|
[Setting.Enable_Retries]: ['Off', 'On'],
|
||||||
[Setting.Sprite_Set]: [ 'Consistent', 'Mixed Animated' ],
|
[Setting.Sprite_Set]: ['Consistent', 'Mixed Animated'],
|
||||||
[Setting.Move_Animations]: [ 'Off', 'On' ],
|
[Setting.Move_Animations]: ['Off', 'On'],
|
||||||
[Setting.Show_Stats_on_Level_Up]: [ 'Off', 'On' ],
|
[Setting.Show_Stats_on_Level_Up]: ['Off', 'On'],
|
||||||
[Setting.EXP_Gains_Speed]: [ 'Normal', 'Fast', 'Faster', 'Skip' ],
|
[Setting.EXP_Gains_Speed]: ['Normal', 'Fast', 'Faster', 'Skip'],
|
||||||
[Setting.EXP_Party_Display]: [ 'Normal', 'Level Up Notification', 'Skip' ],
|
[Setting.EXP_Party_Display]: ['Normal', 'Level Up Notification', 'Skip'],
|
||||||
[Setting.HP_Bar_Speed]: [ 'Normal', 'Fast', 'Faster', 'Instant' ],
|
[Setting.HP_Bar_Speed]: ['Normal', 'Fast', 'Faster', 'Instant'],
|
||||||
[Setting.Fusion_Palette_Swaps]: [ 'Off', 'On' ],
|
[Setting.Fusion_Palette_Swaps]: ['Off', 'On'],
|
||||||
[Setting.Player_Gender]: [ 'Boy', 'Girl' ],
|
[Setting.Player_Gender]: ['Boy', 'Girl'],
|
||||||
[Setting.Gamepad_Support]: [ 'Auto', 'Disabled' ],
|
[Setting.Gamepad_Support]: ['Auto', 'Disabled'],
|
||||||
[Setting.Swap_A_and_B]: [ 'Enabled', 'Disabled' ],
|
[Setting.Swap_A_and_B]: ['Enabled', 'Disabled'],
|
||||||
[Setting.Touch_Controls]: [ 'Auto', 'Disabled' ],
|
[Setting.Touch_Controls]: ['Auto', 'Disabled'],
|
||||||
[Setting.Vibration]: [ 'Auto', 'Disabled' ]
|
[Setting.Vibration]: ['Auto', 'Disabled']
|
||||||
};
|
};
|
||||||
|
|
||||||
export const settingDefaults: SettingDefaults = {
|
export const settingDefaults: SettingDefaults = {
|
||||||
|
@ -89,7 +89,7 @@ export const settingDefaults: SettingDefaults = {
|
||||||
[Setting.Vibration]: 0
|
[Setting.Vibration]: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
export const reloadSettings: Setting[] = [ Setting.UI_Theme, Setting.Language, Setting.Sprite_Set ];
|
export const reloadSettings: Setting[] = [Setting.UI_Theme, Setting.Language, Setting.Sprite_Set];
|
||||||
|
|
||||||
export function setSetting(scene: BattleScene, setting: Setting, value: integer): boolean {
|
export function setSetting(scene: BattleScene, setting: Setting, value: integer): boolean {
|
||||||
switch (setting) {
|
switch (setting) {
|
||||||
|
@ -210,6 +210,10 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer)
|
||||||
label: '简体中文',
|
label: '简体中文',
|
||||||
handler: () => changeLocaleHandler('zh_CN')
|
handler: () => changeLocaleHandler('zh_CN')
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'Português (BR)',
|
||||||
|
handler: () => changeLocaleHandler('pt_BR')
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: 'Cancel',
|
label: 'Cancel',
|
||||||
handler: () => cancelHandler()
|
handler: () => cancelHandler()
|
||||||
|
|
Loading…
Reference in New Issue