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
224 lines
9.2 KiB
Plaintext
224 lines
9.2 KiB
Plaintext
{
|
|
"@@locale": "ko",
|
|
|
|
"appTitle": "임포스터",
|
|
"subtitle": "사회적 추리 게임",
|
|
"loadingWords": "단어 불러오는 중...",
|
|
"playersRange": "3-20명 • 인터넷 불필요",
|
|
|
|
"createGame": "게임 만들기",
|
|
"joinGame": "게임 참가",
|
|
"howToPlay": "게임 방법",
|
|
"settings": "설정",
|
|
|
|
"gameMode": "게임 모드",
|
|
"singleDevice": "기기 하나로",
|
|
"multiDevice": "여러 기기로",
|
|
|
|
"category": "카테고리",
|
|
"categoryAll": "전체",
|
|
"categoryAnimals": "동물",
|
|
"categoryFood": "음식",
|
|
"categoryCountries": "나라",
|
|
"categorySports": "스포츠",
|
|
"categoryProfessions": "직업",
|
|
"categoryObjects": "사물",
|
|
"categoryPlaces": "장소",
|
|
"categoryMovies": "영화",
|
|
"categoryMusic": "음악",
|
|
"categoryTechnology": "기술",
|
|
|
|
"playersCount": "플레이어 ({count})",
|
|
"@playersCount": {
|
|
"placeholders": {
|
|
"count": {"type": "int"}
|
|
}
|
|
},
|
|
"playersRangeHint": "3-20",
|
|
"playerNameHint": "플레이어 이름",
|
|
"playerAlreadyExists": "같은 이름의 플레이어가 이미 있습니다",
|
|
"maxPlayersReached": "최대 20명까지 가능합니다",
|
|
"minPlayersRequired": "최소 3명이 필요합니다",
|
|
|
|
"configuration": "설정",
|
|
"impostors": "🎭 임포스터",
|
|
"impostorClue": "🔍 임포스터 힌트",
|
|
"impostorClueDescription": "임포스터가 카테고리를 알 수 있습니다",
|
|
"debateTime": "⏱️ 토론 시간",
|
|
"noLimit": "제한 없음",
|
|
"oneMin": "1분",
|
|
"twoMin": "2분",
|
|
"threeMin": "3분",
|
|
"fiveMin": "5분",
|
|
|
|
"startGame": "게임 시작",
|
|
|
|
"seeYourWord": "내 단어 보기",
|
|
"eachPlayerMustSee": "각 플레이어는 비밀리에 자신의 단어를 확인하세요",
|
|
"roundNumber": "라운드 {round}",
|
|
"@roundNumber": {
|
|
"placeholders": {
|
|
"round": {"type": "int"}
|
|
}
|
|
},
|
|
"alreadySeen": "단어를 이미 확인함",
|
|
"tapToSee": "탭하여 확인",
|
|
"allSeenStartDebate": "모두 확인 완료 → 토론 시작",
|
|
"playersRemaining": "나머지 {count}명",
|
|
"@playersRemaining": {
|
|
"placeholders": {
|
|
"count": {"type": "int"}
|
|
}
|
|
},
|
|
|
|
"youAreImpostor": "당신은 임포스터입니다!",
|
|
"yourWordIs": "당신의 단어:",
|
|
"clueCategory": "힌트: {category}",
|
|
"@clueCategory": {
|
|
"placeholders": {
|
|
"category": {"type": "String"}
|
|
}
|
|
},
|
|
"holdToSeeWord": "길게 눌러 단어를 확인하세요",
|
|
"makeSureNoOneLooks": "아무도 보지 않는지 확인하세요",
|
|
"showingWord": "👁️ 표시 중...",
|
|
"holdToSee": "👆 길게 눌러 확인",
|
|
"seenMyWord": "내 단어를 확인했습니다",
|
|
|
|
"debateRound": "토론 - 라운드 {round}",
|
|
"@debateRound": {
|
|
"placeholders": {
|
|
"round": {"type": "int"}
|
|
}
|
|
},
|
|
"timeUp": "⏰ 시간 종료!",
|
|
"timeRemaining": "⏱️ 남은 시간",
|
|
"playersInDebate": "토론 중인 플레이어",
|
|
"activePlayersInfo": "{active}명 참여 중 • {impostors}명의 임포스터 잠복 중",
|
|
"@activePlayersInfo": {
|
|
"placeholders": {
|
|
"active": {"type": "int"},
|
|
"impostors": {"type": "int"}
|
|
}
|
|
},
|
|
"eliminated": "탈락",
|
|
"notes": "메모",
|
|
"goToVoting": "투표하러 가기",
|
|
|
|
"voting": "🗳️ 투표",
|
|
"turnToVote": "투표할 차례:",
|
|
"votesProgress": "투표: {current}/{total}",
|
|
"@votesProgress": {
|
|
"placeholders": {
|
|
"current": {"type": "int"},
|
|
"total": {"type": "int"}
|
|
}
|
|
},
|
|
"whoIsImpostor": "누가 임포스터라고 생각하나요?",
|
|
"confirmVote": "투표 확인",
|
|
"votingComplete": "🗳️ 투표 완료",
|
|
"allVoted": "모두 투표했습니다!",
|
|
"tapToReveal": "탭하여 결과 확인",
|
|
"revealResult": "결과 공개",
|
|
|
|
"result": "결과",
|
|
"revealing": "공개 중...",
|
|
"wasImpostor": "임포스터였습니다! 🎉",
|
|
"wasInnocent": "일반 시민이었습니다 😱",
|
|
"votesThisRound": "이번 라운드 투표",
|
|
"seeEndResult": "최종 결과 보기",
|
|
"impostorGuessWord": "임포스터가 단어를 맞출까요?",
|
|
"nextRound": "다음 라운드",
|
|
|
|
"impostorGuessTitle": "🎯 임포스터의 추측",
|
|
"impostorCanGuess": "탈락한 임포스터가\n단어를 맞출 수 있습니다",
|
|
"ifCorrectImpostorsWin": "정답이면 임포스터의 승리!",
|
|
"guessWordHint": "단어가 무엇이라고 생각하나요?",
|
|
"dontGuess": "시도 안 함",
|
|
"guess": "맞추기",
|
|
"correctGuess": "정답입니다!",
|
|
"theWordWas": "단어는: {word}",
|
|
"@theWordWas": {
|
|
"placeholders": {
|
|
"word": {"type": "String"}
|
|
}
|
|
},
|
|
"impostorsWin": "임포스터 승리!",
|
|
"wrongGuess": "오답입니다!",
|
|
"gameContinues": "게임이 계속됩니다...",
|
|
|
|
"gameOver": "게임 종료",
|
|
"playersWin": "플레이어 승리!",
|
|
"theSecretWordWas": "🔍 단어는:",
|
|
"categoryLabel": "카테고리: {category}",
|
|
"@categoryLabel": {
|
|
"placeholders": {
|
|
"category": {"type": "String"}
|
|
}
|
|
},
|
|
"theImpostorWas": "🎭 임포스터는:",
|
|
"theImpostorsWere": "🎭 임포스터들은:",
|
|
"votingHistory": "📊 투표 기록",
|
|
"roundElimination": "라운드 {round}: {name}",
|
|
"@roundElimination": {
|
|
"placeholders": {
|
|
"round": {"type": "int"},
|
|
"name": {"type": "String"}
|
|
}
|
|
},
|
|
"rematch": "재대결",
|
|
"mainMenu": "메인 메뉴",
|
|
|
|
"notesTitle": "📝 메모",
|
|
"notesSaved": "메모가 저장되었습니다",
|
|
"whoAreYou": "당신은 누구인가요?",
|
|
"selectYourName": "이름을 선택하여 개인 메모를 확인하세요",
|
|
"notesOf": "{name}의 메모",
|
|
"@notesOf": {
|
|
"placeholders": {
|
|
"name": {"type": "String"}
|
|
}
|
|
},
|
|
"notesAboutPlayers": "각 플레이어에 대한 메모",
|
|
"playerNoteHint": "뭐라고 했나? 수상한가?",
|
|
"freeNote": "자유 메모",
|
|
"freeNoteHint": "개인 메모...",
|
|
|
|
"rulesTitle": "📖 게임 방법",
|
|
"rulesWhatIsTitle": "🎭 임포스터란?",
|
|
"rulesWhatIsBody": "3~20명이 즐기는 사회적 추리 게임입니다. 모두가 비밀 단어를 받지만... 임포스터만 받지 못합니다! 당신의 임무: 누가 아는 척하는지 찾아내세요.",
|
|
"rulesHowToPlayTitle": "🔍 어떻게 하나요?",
|
|
"rulesHowToPlayBody": "1. 역할 배분: 모든 플레이어가 같은 단어를 받지만, 임포스터는 받지 못합니다.\n\n2. 토론: 차례대로 각 플레이어가 단어를 직접 말하지 않고 설명합니다. 임포스터는 아는 척해야 합니다.\n\n3. 투표: 토론이 끝나면 모두가 임포스터라고 생각하는 사람에게 투표합니다.\n\n4. 탈락: 가장 많은 표를 받은 사람이 탈락하고, 임포스터였는지 밝혀집니다.\n\n5. 임포스터였다면 단어를 맞출 기회가 있습니다. 맞추면 임포스터 승리!",
|
|
"rulesWhoWinsTitle": "🏆 누가 이기나요?",
|
|
"rulesWhoWinsBody": "• 플레이어: 모든 임포스터를 탈락시키면 승리.\n• 임포스터: 발각되지 않고 일반 플레이어 수가 임포스터 수 이하가 될 때까지 버티면 승리. 또는 탈락 시 단어를 맞추면 승리.",
|
|
"rulesTipsPlayersTitle": "💡 플레이어를 위한 팁",
|
|
"rulesTipsPlayersBody": "• 단어를 알고 있다는 것을 증명하는 미묘한 힌트를 주되, 임포스터가 이용할 수 있을 만큼 뻔하게 하지 마세요.\n• 모호하거나 일반적인 답변을 하는 사람을 주시하세요.\n• 메모를 활용하여 각자 한 말을 기록하세요.\n• 단어를 직접 말하지 마세요. 임포스터를 돕는 셈이 됩니다!",
|
|
"rulesTipsImpostorTitle": "🎭 임포스터를 위한 팁",
|
|
"rulesTipsImpostorBody": "• 다른 플레이어의 힌트를 주의 깊게 들으세요.\n• 단어를 추리하여 그럴듯한 힌트를 주세요.\n• 확신이 없으면 먼저 말하지 마세요.\n• 카테고리가 힌트로 주어졌다면 적극 활용하세요.\n• 다른 사람을 의심하여 주의를 돌리세요.",
|
|
"rulesModesTitle": "📱 게임 모드",
|
|
"rulesModesBody": "• 기기 하나로: 모두가 한 기기를 공유합니다. 각 플레이어가 버튼을 길게 눌러 자신의 단어를 확인합니다.\n\n• 여러 기기로: 각 플레이어가 자신의 기기를 사용합니다. Bluetooth/WiFi Direct로 연결하며 인터넷이 필요 없습니다.",
|
|
"rulesExampleTitle": "✏️ 게임 예시",
|
|
"rulesExampleBody": "비밀 단어: \"피자\"\n\n• 수진: \"뜨거울 때 먹어요\" ✓\n• 민수: \"상자에 들어 있어요\" ✓\n• 지은 (임포스터): \"아주 인기 있어요\" 🤔\n• 현우: \"치즈가 올려져 있어요\" ✓\n\n지은이 너무 일반적인 답변을 했네요... 수상해요!",
|
|
|
|
"joinGameTitle": "게임 참가",
|
|
"multiDeviceMode": "여러 기기 모드",
|
|
"scanQrDescription": "호스트가 보여주는 QR 코드를 스캔하여 Bluetooth/WiFi Direct로 게임에 접속하세요.",
|
|
"comingSoon": "곧 출시",
|
|
"nearbyNotAvailable": "여러 기기 연결을 위한 Nearby Connections는 실제 Android 기기가 필요합니다.\n\n현재는 \"기기 하나로\" 모드를 사용하여 하나의 기기에서 플레이하세요.",
|
|
"back": "뒤로",
|
|
|
|
"yes": "예",
|
|
"no": "아니오",
|
|
"cancel": "취소",
|
|
"accept": "확인",
|
|
"next": "다음",
|
|
|
|
"settingsTitle": "설정",
|
|
"language": "언어",
|
|
"soundVolume": "효과음 볼륨",
|
|
"vibration": "진동",
|
|
"about": "앱 정보",
|
|
"version": "버전",
|
|
"developer": "개발자",
|
|
"licenses": "라이선스"
|
|
} |