Internacionalización completa: - 18 ficheros .arb: es, en, fr, pt, de, it, ru, ja, ko, zh, zh_TW, ar, hi, tr, pl, nl, ca, eu - Todos los strings extraídos de todas las pantallas - Detección automática de idioma del sistema - Selector manual en pantalla de ajustes Pantalla de ajustes nueva: - Selector de idioma con banderas emoji - Vibración ON/OFF - Acerca de (versión, desarrollador) Bancos de palabras multiidioma: - palabras.json (castellano, 1000 palabras) - palabras_en.json (inglés, 1000 palabras) - palabras_fr.json (francés, 1000 palabras) - Fallback a castellano si no hay banco del idioma 13138 líneas Dart, 39 ficheros, 0 issues en flutter analyze
225 lines
8.6 KiB
Plaintext
225 lines
8.6 KiB
Plaintext
{
|
|
"@@locale": "pt",
|
|
|
|
"appTitle": "O Impostor",
|
|
"subtitle": "Jogo de dedução social",
|
|
"loadingWords": "Carregando palavras...",
|
|
"playersRange": "3-20 jogadores • Sem internet",
|
|
|
|
"createGame": "Criar partida",
|
|
"joinGame": "Entrar na partida",
|
|
"howToPlay": "Como jogar",
|
|
"settings": "Configurações",
|
|
|
|
"gameMode": "Modo de jogo",
|
|
"singleDevice": "Um só celular",
|
|
"multiDevice": "Multicelular",
|
|
|
|
"category": "Categoria",
|
|
"categoryAll": "Todas",
|
|
"categoryAnimals": "Animais",
|
|
"categoryFood": "Comida",
|
|
"categoryCountries": "Países",
|
|
"categorySports": "Esportes",
|
|
"categoryProfessions": "Profissões",
|
|
"categoryObjects": "Objetos",
|
|
"categoryPlaces": "Lugares",
|
|
"categoryMovies": "Filmes",
|
|
"categoryMusic": "Música",
|
|
"categoryTechnology": "Tecnologia",
|
|
|
|
"playersCount": "Jogadores ({count})",
|
|
"@playersCount": {
|
|
"placeholders": {
|
|
"count": {"type": "int"}
|
|
}
|
|
},
|
|
"playersRangeHint": "3-20",
|
|
"playerNameHint": "Nome do jogador",
|
|
"playerAlreadyExists": "Já existe um jogador com esse nome",
|
|
"maxPlayersReached": "Máximo de 20 jogadores",
|
|
"minPlayersRequired": "São necessários pelo menos 3 jogadores",
|
|
|
|
"configuration": "Configuração",
|
|
"impostors": "🎭 Impostores",
|
|
"impostorClue": "🔍 Dica para o impostor",
|
|
"impostorClueDescription": "O impostor conhece a categoria",
|
|
"debateTime": "⏱️ Tempo de debate",
|
|
"noLimit": "Sem limite",
|
|
"oneMin": "1 min",
|
|
"twoMin": "2 min",
|
|
"threeMin": "3 min",
|
|
"fiveMin": "5 min",
|
|
|
|
"startGame": "Iniciar partida",
|
|
|
|
"seeYourWord": "Ver sua palavra",
|
|
"eachPlayerMustSee": "Cada jogador deve ver sua palavra em segredo",
|
|
"roundNumber": "Rodada {round}",
|
|
"@roundNumber": {
|
|
"placeholders": {
|
|
"round": {"type": "int"}
|
|
}
|
|
},
|
|
"alreadySeen": "Já viu sua palavra",
|
|
"tapToSee": "Toque para ver",
|
|
"allSeenStartDebate": "Todos viram → Iniciar debate",
|
|
"playersRemaining": "Faltam {count} jogadores",
|
|
"@playersRemaining": {
|
|
"placeholders": {
|
|
"count": {"type": "int"}
|
|
}
|
|
},
|
|
|
|
"youAreImpostor": "Você é o impostor!",
|
|
"yourWordIs": "Sua palavra é:",
|
|
"clueCategory": "Dica: {category}",
|
|
"@clueCategory": {
|
|
"placeholders": {
|
|
"category": {"type": "String"}
|
|
}
|
|
},
|
|
"holdToSeeWord": "Mantenha pressionado para ver sua palavra",
|
|
"makeSureNoOneLooks": "Certifique-se de que ninguém mais está olhando",
|
|
"showingWord": "👁️ Mostrando...",
|
|
"holdToSee": "👆 Mantenha pressionado para ver",
|
|
"seenMyWord": "Já vi minha palavra",
|
|
|
|
"debateRound": "Debate - Rodada {round}",
|
|
"@debateRound": {
|
|
"placeholders": {
|
|
"round": {"type": "int"}
|
|
}
|
|
},
|
|
"timeUp": "⏰ Tempo esgotado!",
|
|
"timeRemaining": "⏱️ Tempo restante",
|
|
"playersInDebate": "Jogadores no debate",
|
|
"activePlayersInfo": "{active} ativos • {impostors} impostor(es) ocultos",
|
|
"@activePlayersInfo": {
|
|
"placeholders": {
|
|
"active": {"type": "int"},
|
|
"impostors": {"type": "int"}
|
|
}
|
|
},
|
|
"eliminated": "Eliminado",
|
|
"notes": "Notas",
|
|
"goToVoting": "Ir para votação",
|
|
|
|
"voting": "🗳️ Votação",
|
|
"turnToVote": "Vez de votar:",
|
|
"votesProgress": "Votos: {current}/{total}",
|
|
"@votesProgress": {
|
|
"placeholders": {
|
|
"current": {"type": "int"},
|
|
"total": {"type": "int"}
|
|
}
|
|
},
|
|
"whoIsImpostor": "Quem você acha que é o impostor?",
|
|
"confirmVote": "Confirmar voto",
|
|
"votingComplete": "🗳️ Votação completa",
|
|
"allVoted": "Todos votaram!",
|
|
"tapToReveal": "Toque para revelar o resultado",
|
|
"revealResult": "Revelar resultado",
|
|
|
|
"result": "Resultado",
|
|
"revealing": "Revelando...",
|
|
"wasImpostor": "Era IMPOSTOR! 🎉",
|
|
"wasInnocent": "Era INOCENTE 😱",
|
|
"votesThisRound": "Votos desta rodada",
|
|
"seeEndResult": "Ver resultado final",
|
|
"impostorGuessWord": "O impostor adivinha a palavra?",
|
|
"nextRound": "Próxima rodada",
|
|
|
|
"impostorGuessTitle": "🎯 Palpite do impostor",
|
|
"impostorCanGuess": "O impostor eliminado pode\ntentar adivinhar a palavra",
|
|
"ifCorrectImpostorsWin": "Se acertar, os impostores vencem!",
|
|
"guessWordHint": "Qual você acha que é a palavra?",
|
|
"dontGuess": "Não tentar",
|
|
"guess": "Adivinhar",
|
|
"correctGuess": "Acertou!",
|
|
"theWordWas": "A palavra era: {word}",
|
|
"@theWordWas": {
|
|
"placeholders": {
|
|
"word": {"type": "String"}
|
|
}
|
|
},
|
|
"impostorsWin": "Os impostores vencem!",
|
|
"wrongGuess": "Não acertou!",
|
|
"gameContinues": "A partida continua...",
|
|
|
|
"gameOver": "Fim de partida",
|
|
"playersWin": "Os jogadores vencem!",
|
|
"theSecretWordWas": "🔍 A palavra era:",
|
|
"categoryLabel": "Categoria: {category}",
|
|
"@categoryLabel": {
|
|
"placeholders": {
|
|
"category": {"type": "String"}
|
|
}
|
|
},
|
|
"theImpostorWas": "🎭 O impostor era:",
|
|
"theImpostorsWere": "🎭 Os impostores eram:",
|
|
"votingHistory": "📊 Histórico de votações",
|
|
"roundElimination": "Rodada {round}: {name}",
|
|
"@roundElimination": {
|
|
"placeholders": {
|
|
"round": {"type": "int"},
|
|
"name": {"type": "String"}
|
|
}
|
|
},
|
|
"rematch": "Revanche",
|
|
"mainMenu": "Menu principal",
|
|
|
|
"notesTitle": "📝 Notas",
|
|
"notesSaved": "Notas salvas",
|
|
"whoAreYou": "Quem é você?",
|
|
"selectYourName": "Selecione seu nome para ver suas notas privadas",
|
|
"notesOf": "Notas de {name}",
|
|
"@notesOf": {
|
|
"placeholders": {
|
|
"name": {"type": "String"}
|
|
}
|
|
},
|
|
"notesAboutPlayers": "Anotações sobre cada jogador",
|
|
"playerNoteHint": "O que disse? Suspeito?",
|
|
"freeNote": "Nota livre",
|
|
"freeNoteHint": "Anotações pessoais...",
|
|
|
|
"rulesTitle": "📖 Como jogar",
|
|
"rulesWhatIsTitle": "🎭 O que é O Impostor?",
|
|
"rulesWhatIsBody": "Um jogo de dedução social para 3-20 jogadores. Todos recebem uma palavra secreta... exceto o impostor! Sua missão: descobrir quem está fingindo.",
|
|
"rulesHowToPlayTitle": "🔍 Como se joga?",
|
|
"rulesHowToPlayBody": "1. Os papéis são distribuídos: todos recebem a mesma palavra, exceto o(s) impostor(es).\n\n2. Debate: por turnos, cada jogador descreve a palavra SEM dizê-la diretamente. O impostor deve fingir que a conhece.\n\n3. Votação: ao terminar o debate, todos votam em quem acham que é o impostor.\n\n4. Eliminação: o mais votado é eliminado e revela-se se era impostor ou não.\n\n5. Se era impostor, pode tentar adivinhar a palavra. Se acertar, os impostores vencem!",
|
|
"rulesWhoWinsTitle": "🏆 Quem ganha?",
|
|
"rulesWhoWinsBody": "• Jogadores: vencem se eliminarem TODOS os impostores.\n• Impostores: vencem se não forem descobertos até que restem igual ou menos jogadores normais que impostores, ou se adivinharem a palavra ao serem eliminados.",
|
|
"rulesTipsPlayersTitle": "💡 Dicas para jogadores",
|
|
"rulesTipsPlayersBody": "• Dê dicas sutis que provem que você conhece a palavra, mas não tão óbvias que o impostor as use.\n• Observe quem dá respostas vagas ou genéricas.\n• Use as notas para anotar o que cada um diz.\n• Não diga a palavra diretamente, isso ajuda o impostor!",
|
|
"rulesTipsImpostorTitle": "🎭 Dicas para o impostor",
|
|
"rulesTipsImpostorBody": "• Ouça atentamente as dicas dos outros.\n• Tente deduzir a palavra para dar dicas convincentes.\n• Não seja o primeiro a falar se não tiver certeza.\n• Se receberem a categoria como dica, use a seu favor.\n• Acuse outros para desviar a atenção.",
|
|
"rulesModesTitle": "📱 Modos de jogo",
|
|
"rulesModesBody": "• Um só celular: todos compartilham o dispositivo. Cada jogador vê sua palavra pressionando e segurando um botão.\n\n• Multicelular: cada jogador usa seu próprio dispositivo. Conectam-se por Bluetooth/WiFi Direct sem necessidade de internet.",
|
|
"rulesExampleTitle": "✏️ Exemplo de partida",
|
|
"rulesExampleBody": "Palavra secreta: \"Pizza\"\n\n• João: \"Se come quente\" ✓\n• Maria: \"Vem numa caixa\" ✓\n• Pedro (impostor): \"É muito popular\" 🤔\n• Ana: \"Tem queijo\" ✓\n\nPedro deu uma resposta muito genérica... Suspeito!",
|
|
|
|
"joinGameTitle": "Entrar na partida",
|
|
"multiDeviceMode": "Modo multicelular",
|
|
"scanQrDescription": "Escaneie o código QR exibido pelo anfitrião para se conectar à partida via Bluetooth/WiFi Direct.",
|
|
"comingSoon": "Em breve",
|
|
"nearbyNotAvailable": "A conexão multicelular com Nearby Connections requer dispositivos Android físicos.\n\nPor enquanto, use o modo \"Um só celular\" para jogar em um dispositivo compartilhado.",
|
|
"back": "Voltar",
|
|
|
|
"yes": "Sim",
|
|
"no": "Não",
|
|
"cancel": "Cancelar",
|
|
"accept": "Aceitar",
|
|
"next": "Próximo",
|
|
|
|
"settingsTitle": "Configurações",
|
|
"language": "Idioma",
|
|
"soundVolume": "Volume dos efeitos",
|
|
"vibration": "Vibração",
|
|
"about": "Sobre",
|
|
"version": "Versão",
|
|
"developer": "Desenvolvedor",
|
|
"licenses": "Licenças"
|
|
}
|