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