diff --git a/src/locales/ko/battle.ts b/src/locales/ko/battle.ts index d2966d76713..0c3b1a6ab1f 100644 --- a/src/locales/ko/battle.ts +++ b/src/locales/ko/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "보스 {{bossName}}(이)가 나타났다.", "trainerAppeared": "{{trainerName}}(이)가\n승부를 걸어왔다!", + "trainerAppearedDouble": "{{trainerName}}(이)가\n승부를 걸어왔다!", "singleWildAppeared": "앗! 야생 {{pokemonName}}(이)가\n튀어나왔다!", "multiWildAppeared": "야생 {{pokemonName1}}(과)와\n{{pokemonName2}}(이)가 튀어나왔다!", "playerComeBack": "돌아와, {{pokemonName}}!", @@ -31,6 +32,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}}(는)은\n결국 배우지 않았다!", "learnMoveForgetQuestion": "어느 기술을 잊게 하고싶은가?", "learnMoveForgetSuccess": "{{pokemonName}}(는)은 {{moveName}}를(을) 깨끗이 잊었다!", + "countdownPoof": "@d{32}1, @d{15}2, @d{15}… @d{15}… @d{30}@s{pb_bounce_1}짠!", + "learnMoveAnd": "그리고…", "levelCapUp": "레벨의 최대치가\n{{levelCap}}까지 상승했다!", "moveNotImplemented": "{{moveName}}(는)은 아직 구현되지 않아 사용할 수 없다…", "moveNoPP": "기술의 남은 포인트가 없다!", diff --git a/src/locales/ko/config.ts b/src/locales/ko/config.ts index 226790bb476..ecd6e6ffa3a 100644 --- a/src/locales/ko/config.ts +++ b/src/locales/ko/config.ts @@ -2,10 +2,12 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; @@ -13,6 +15,9 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { titles,trainerClasses,trainerNames } from "./trainers"; +import { splashMessages } from "./splash-messages" +import { weather } from "./weather"; export const koConfig = { @@ -20,6 +25,7 @@ export const koConfig = { abilityTriggers, battle, commandUiHandler, + egg, fightUiHandler, menuUiHandler, menu, @@ -28,7 +34,13 @@ export const koConfig = { pokemonStat, pokemon, starterSelectUiHandler, + titles, + trainerClasses, + trainerNames, tutorial, + splashMessages, nature, - growth + growth, + weather, + modifierType, } \ No newline at end of file diff --git a/src/locales/ko/egg.ts b/src/locales/ko/egg.ts new file mode 100644 index 00000000000..9b5482e23fe --- /dev/null +++ b/src/locales/ko/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "알", + "greatTier": "레어", + "ultraTier": "에픽", + "masterTier": "레전더리", + "defaultTier": "커먼", + "hatchWavesMessageSoon": "안에서 소리가 들려온다! 이제 곧 태어날 것 같아!", + "hatchWavesMessageClose": "가끔 움직이고 있는 것 같다. 태어나기까지 이제 조금 남은 건가?", + "hatchWavesMessageNotClose": "무엇이 태어날까? 태어나기까지 아직 시간이 걸릴 것 같다.", + "hatchWavesMessageLongTime": "이 알은 태어나기까지 상당한 시간이 걸릴 것 같다.", + "gachaTypeLegendary": "레전더리 확률 업", + "gachaTypeMove": "희귀 알 기술 확률 업", + "gachaTypeShiny": "색이 다른 포켓몬 확률 업", + "selectMachine": "사용할 뽑기 기계를 골라주세요.", + "notEnoughVouchers": "바우처가 충분하지 않습니다!", + "tooManyEggs": "알을 너무 많이 갖고 있습니다!", + "pull": "뽑기", + "pulls": "뽑기" +} as const; \ No newline at end of file diff --git a/src/locales/ko/menu-ui-handler.ts b/src/locales/ko/menu-ui-handler.ts index 7a9e73ba6d8..46ab8916725 100644 --- a/src/locales/ko/menu-ui-handler.ts +++ b/src/locales/ko/menu-ui-handler.ts @@ -9,7 +9,7 @@ export const menuUiHandler: SimpleTranslationEntries = { "EGG_GACHA": "알 뽑기", "MANAGE_DATA": "데이터 관리", "COMMUNITY": "커뮤니티", - "RETURN_TO_TITLE": "타이틀 화면으로", + "SAVE_AND_QUIT": "저장 후 나가기", "LOG_OUT": "로그아웃", "slot": "슬롯 {{slotNumber}}", "importSession": "세션 불러오기", diff --git a/src/locales/ko/menu.ts b/src/locales/ko/menu.ts index f8b9e0ee03f..d5bdce5f694 100644 --- a/src/locales/ko/menu.ts +++ b/src/locales/ko/menu.ts @@ -35,6 +35,11 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "너는 남자니?\n아니면 여자니?", "boy": "남자", "girl": "여자", + "evolving": "…오잉!?\n{{pokemonName}}의 모습이…!", + "stoppedEvolving": "얼라리…?\n{{pokemonName}}의 변화가 멈췄다!", + "pauseEvolutionsQuestion": "{{pokemonName}}를(을) 진화하지 않게 만드시겠습니까?\n포켓몬 화면에서 다시 활성화시킬 수 있습니다.", + "evolutionsPaused": "{{pokemonName}}의 진화가 비활성화되었다.", + "evolutionDone": "축하합니다! {{pokemonName}}(는)은\n{{evolvedPokemonName}}(으)로 진화했습니다!", "dailyRankings": "일간 랭킹", "weeklyRankings": "주간 랭킹", "noRankings": "랭킹 정보 없음", diff --git a/src/locales/ko/modifier-type.ts b/src/locales/ko/modifier-type.ts new file mode 100644 index 00000000000..e28b965bd69 --- /dev/null +++ b/src/locales/ko/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{pokeballName}} {{modifierCount}}개", + description: "{{pokeballName}} {{modifierCount}}개 (현재: {{pokeballAmount}}개)를 획득한다.\n포획률: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{voucherTypeName}} {{modifierCount}}장", + description: "{{voucherTypeName}} {{modifierCount}}장을 획득", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}}(는)은\n이 아이템을 얻을 수 없다!", + "tooMany": "{{pokemonName}}(는)은\n이 아이템을 너무 많이 갖고 있다!", + } + }, + "PokemonHpRestoreModifierType": { + description: "포켓몬 1마리의 HP를 {{restorePoints}} 또는 {{restorePercent}}% 중\n높은 수치만큼 회복", + extra: { + "fully": "포켓몬 1마리의 HP를 모두 회복", + "fullyWithStatus": "포켓몬 1마리의 HP와 상태 이상을 모두 회복", + } + }, + "PokemonReviveModifierType": { + description: "기절해 버린 포켓몬 1마리의 HP를 {{restorePercent}}%까지 회복", + }, + "PokemonStatusHealModifierType": { + description: "포켓몬 1마리의 상태 이상을 모두 회복", + }, + "PokemonPpRestoreModifierType": { + description: "포켓몬이 기억하고 있는 기술 중 1개의 PP를 {{restorePoints}}만큼 회복", + extra: { + "fully": "포켓몬이 기억하고 있는 기술 중 1개의 PP를 모두 회복", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "포켓몬이 기억하고 있는 4개의 기술 PP를 {{restorePoints}}씩 회복", + extra: { + "fully": "포켓몬이 기억하고 있는 4개의 기술 PP를 모두 회복", + } + }, + "PokemonPpUpModifierType": { + description: "포켓몬이 기억하고 있는 기술 중 1개의 PP 최대치를 5마다 {{upPoints}}씩 상승 (최대 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}}민트", + description: "포켓몬의 성격을 {{natureName}}(으)로 바꾸고 스타팅에도 등록한다.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "{{battleCount}}번의 배틀 동안 더블 배틀이 등장할 확률 두 배", + }, + "TempBattleStatBoosterModifierType": { + description: "자신의 모든 포켓몬이 5번의 배틀 동안 {{tempBattleStatName}}(이)가 한 단계 증가" + }, + "AttackTypeBoosterModifierType": { + description: "지니게 하면 {{moveType}}타입 기술의 위력이 20% 상승", + }, + "PokemonLevelIncrementModifierType": { + description: "포켓몬 1마리의 레벨이 1만큼 상승", + }, + "AllPokemonLevelIncrementModifierType": { + description: "자신의 모든 포켓몬의 레벨이 1씩 상승", + }, + "PokemonBaseStatBoosterModifierType": { + description: "지니게 하면 {{statName}} 종족값을 10% 올려준다. 개체값이 높을수록 더 많이 누적시킬 수 있다.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "자신의 포켓몬의 HP를 모두 회복", + }, + "AllPokemonFullReviveModifierType": { + description: "자신의 포켓몬의 HP를 기절해 버렸더라도 모두 회복", + }, + "MoneyRewardModifierType": { + description: "{{moneyMultiplier}} 양의 돈을 획득 (₽{{moneyAmount}})", + extra: { + "small": "적은", + "moderate": "적당한", + "large": "많은", + }, + }, + "ExpBoosterModifierType": { + description: "포켓몬이 받는 경험치가 늘어나는 부적. {{boostPercent}}% 증가", + }, + "PokemonExpBoosterModifierType": { + description: "지니게 한 포켓몬은 받을 수 있는 경험치가 {{boostPercent}}% 증가", + }, + "PokemonFriendshipBoosterModifierType": { + description: "배틀 승리로 얻는 친밀도가 50% 증가", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "기술의 명중률이 {{accuracyAmount}} 증가 (최대 100)", + }, + "PokemonMultiHitModifierType": { + description: "공격이 가진 갯수에 따라 60/75/82.5%의 위력으로 한번 더 명중", + }, + "TmModifierType": { + name: "No.{{moveId}} {{moveName}}", + description: "포켓몬에게 {{moveName}}를(을) 가르침", + }, + "EvolutionItemModifierType": { + description: "어느 특정 포켓몬을 진화", + }, + "FormChangeItemModifierType": { + description: "어느 특정 포켓몬을 폼 체인지", + }, + "FusePokemonModifierType": { + description: "두 포켓몬을 결합 (특성 변환, 종족값과 타입 분배, 기술폭 공유)", + }, + "TerastallizeModifierType": { + name: "테라피스 {{teraType}}", + description: "지니게 하면 10번의 배틀 동안 {{teraType}}타입 테라스탈", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "공격했을 때, {{chancePercent}}%의 확률로 상대의 도구를 도둑질", + }, + "TurnHeldItemTransferModifierType": { + description: "매 턴, 지닌 포켓몬은 상대로부터 도구를 하나 획득", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "공격했을 때 {{statusEffect}} 상태로 만들 확률 {{chancePercent}}% 추가", + }, + "EnemyEndureChanceModifierType": { + description: "받은 공격을 버텨낼 확률 {{chancePercent}}% 추가", + }, + + "RARE_CANDY": { name: "이상한사탕" }, + "RARER_CANDY": { name: "더이상한사탕" }, + + "MEGA_BRACELET": { name: "메가링", description: "메가스톤을 사용 가능" }, + "DYNAMAX_BAND": { name: "다이맥스 밴드", description: "다이버섯을 사용 가능" }, + "TERA_ORB": { name: "테라스탈오브", description: "테라피스를 사용 가능" }, + + "MAP": { name: "지도", description: "갈림길에서 목적지 선택 가능" }, + + "POTION": { name: "상처약" }, + "SUPER_POTION": { name: "좋은상처약" }, + "HYPER_POTION": { name: "고급상처약" }, + "MAX_POTION": { name: "풀회복약" }, + "FULL_RESTORE": { name: "회복약" }, + + "REVIVE": { name: "기력의조각" }, + "MAX_REVIVE": { name: "기력의덩어리" }, + + "FULL_HEAL": { name: "만병통치제" }, + + "SACRED_ASH": { name: "성스러운분말" }, + + "REVIVER_SEED": { name: "부활의씨앗", description: "포켓몬이 쓰러지려 할 때 HP를 절반 회복" }, + + "ETHER": { name: "PP에이드" }, + "MAX_ETHER": { name: "PP회복" }, + + "ELIXIR": { name: "PP에이더" }, + "MAX_ELIXIR": { name: "PP맥스" }, + + "PP_UP": { name: "포인트업" }, + "PP_MAX": { name: "포인트맥스" }, + + "LURE": { name: "더블배틀코롱" }, + "SUPER_LURE": { name: "실버코롱" }, + "MAX_LURE": { name: "골드코롱" }, + + "MEMORY_MUSHROOM": { name: "기억버섯", description: "포켓몬의 잊어버린 기술을 떠올림" }, + + "EXP_SHARE": { name: "학습장치", description: "배틀에 참여하지 않아도 20%의 경험치를 받을 수 있는 장치" }, + "EXP_BALANCE": { name: "균형학습장치", description: "레벨이 낮은 포켓몬이 받는 경험치를 가중" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "여러 마리의 포켓몬이 배틀에 참여할 경우, 전체 경험치의 10%씩을 추가로 획득" }, + + "EXP_CHARM": { name: "경험부적" }, + "SUPER_EXP_CHARM": { name: "좋은경험부적" }, + "GOLDEN_EXP_CHARM": { name: "황금경험부적" }, + + "LUCKY_EGG": { name: "행복의알" }, + "GOLDEN_EGG": { name: "황금의알" }, + + "SOOTHE_BELL": { name: "평온의방울" }, + + "SOUL_DEW": { name: "마음의물방울", description: "지닌 포켓몬의 성격의 효과가 10% 증가 (합연산)" }, + + "NUGGET": { name: "금구슬" }, + "BIG_NUGGET": { name: "큰금구슬" }, + "RELIC_GOLD": { name: "고대의금화" }, + + "AMULET_COIN": { name: "부적금화", description: "받는 돈이 20% 증가" }, + "GOLDEN_PUNCH": { name: "골든펀치", description: "주는 데미지의 50%만큼 돈을 획득" }, + "COIN_CASE": { name: "동전케이스", description: "매 열 번째 배틀마다, 가진 돈의 10%를 이자로 획득" }, + + "LOCK_CAPSULE": { name: "록캡슐", description: "받을 아이템을 갱신할 때 희귀도를 고정 가능" }, + + "GRIP_CLAW": { name: "끈기갈고리손톱" }, + "WIDE_LENS": { name: "광각렌즈" }, + + "MULTI_LENS": { name: "멀티렌즈" }, + + "HEALING_CHARM": { name: "치유의부적", description: "HP를 회복하는 기술을 썼을 때 효율이 10% 증가 (부활 제외)" }, + "CANDY_JAR": { name: "사탕단지", description: "이상한사탕 종류의 아이템이 올려주는 레벨 1 증가" }, + + "BERRY_POUCH": { name: "열매주머니", description: "사용한 나무열매가 소모되지 않을 확률 25% 추가" }, + + "FOCUS_BAND": { name: "기합의머리띠", description: "기절할 듯한 데미지를 받아도 HP를 1 남겨서 견딜 확률 10% 추가" }, + + "QUICK_CLAW": { name: "선제공격손톱", description: "상대보다 먼저 행동할 수 있게 될 확률 10% 추가 (우선도 처리 이후)" }, + + "KINGS_ROCK": { name: "왕의징표석", description: "공격해서 데미지를 줄 때 상대를 풀죽일 확률 10% 추가" }, + + "LEFTOVERS": { name: "먹다남은음식", description: "포켓몬의 HP가 매 턴 최대 체력의 1/16씩 회복" }, + "SHELL_BELL": { name: "조개껍질방울", description: "포켓몬이 준 데미지의 1/8씩 회복" }, + + "BATON": { name: "바톤", description: "포켓몬을 교체할 때 효과를 넘겨줄 수 있으며, 함정의 영향을 받지 않게 함" }, + + "SHINY_CHARM": { name: "빛나는부적", description: "야생 포켓몬이 색이 다른 포켓몬으로 등장할 확률을 급격히 증가" }, + "ABILITY_CHARM": { name: "특성부적", description: "야생 포켓몬이 숨겨진 특성을 가지고 등장할 확률을 급격히 증가" }, + + "IV_SCANNER": { name: "개체값탐지기", description: "야생 포켓몬의 개체값을 확인 가능하다. 높은 값이 먼저 표시되며 확인할 수 있는 개체값을 두 종류씩 추가" }, + + "DNA_SPLICERS": { name: "유전자쐐기" }, + + "MINI_BLACK_HOLE": { name: "미니 블랙 홀" }, + + "GOLDEN_POKEBALL": { name: "황금몬스터볼", description: "전투 후 획득하는 아이템의 선택지를 하나 더 추가" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "데미지 토큰", description: "주는 데미지를 5% 증가" }, + "ENEMY_DAMAGE_REDUCTION": { name: "보호 토큰", description: "받는 데미지를 2.5% 감소" }, + "ENEMY_HEAL": { name: "회복 토큰", description: "매 턴 최대 체력의 2%를 회복" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "독 토큰" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "마비 토큰" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "잠듦 토큰" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "얼음 토큰" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "화상 토큰" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "만병통치 토큰", description: "매 턴 상태이상에서 회복될 확률 10% 추가" }, + "ENEMY_ENDURE_CHANCE": { name: "버티기 토큰" }, + "ENEMY_FUSED_CHANCE": { name: "합체 토큰", description: "야생 포켓몬이 합체할 확률 1% 추가" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "플러스파워", + "x_defense": "디펜드업", + "x_sp_atk": "스페셜업", + "x_sp_def": "스페셜가드", + "x_speed": "스피드업", + "x_accuracy": "잘-맞히기", + "dire_hit": "크리티컬커터", + }, + AttackTypeBoosterItem: { + "silk_scarf": "실크스카프", + "black_belt": "검은띠", + "sharp_beak": "예리한부리", + "poison_barb": "독바늘", + "soft_sand": "부드러운모래", + "hard_stone": "딱딱한돌", + "silver_powder": "은빛가루", + "spell_tag": "저주의부적", + "metal_coat": "금속코트", + "charcoal": "목탄", + "mystic_water": "신비의물방울", + "miracle_seed": "기적의씨", + "magnet": "자석", + "twisted_spoon": "휘어진스푼", + "never_melt_ice": "녹지않는얼음", + "dragon_fang": "용의이빨", + "black_glasses": "검은안경", + "fairy_feather": "요정의깃털", + }, + BaseStatBoosterItem: { + "hp_up": "맥스업", + "protein": "타우린", + "iron": "사포닌", + "calcium": "리보플라빈", + "zinc": "키토산", + "carbos": "알칼로이드", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "연결의끈", + "SUN_STONE": "태양의돌", + "MOON_STONE": "달의돌", + "LEAF_STONE": "리프의돌", + "FIRE_STONE": "불꽃의돌", + "WATER_STONE": "물의돌", + "THUNDER_STONE": "천둥의돌", + "ICE_STONE": "얼음의돌", + "DUSK_STONE": "어둠의돌", + "DAWN_STONE": "각성의돌", + "SHINY_STONE": "빛의돌", + "CRACKED_POT": "깨진포트", + "SWEET_APPLE": "달콤한사과", + "TART_APPLE": "새콤한사과", + "STRAWBERRY_SWEET": "딸기사탕공예", + "UNREMARKABLE_TEACUP": "범작찻잔", + + "CHIPPED_POT": "이빠진포트", + "BLACK_AUGURITE": "검은휘석", + "GALARICA_CUFF": "가라두구팔찌", + "GALARICA_WREATH": "가라두구머리장식", + "PEAT_BLOCK": "피트블록", + "AUSPICIOUS_ARMOR": "축복받은갑옷", + "MALICIOUS_ARMOR": "저주받은갑옷", + "MASTERPIECE_TEACUP": "걸작찻잔", + "METAL_ALLOY": "복합금속", + "SCROLL_OF_DARKNESS": "악의 족자", + "SCROLL_OF_WATERS": "물의 족자", + "SYRUPY_APPLE": "꿀맛사과", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "눈설왕나이트", + "ABSOLITE": "앱솔나이트", + "AERODACTYLITE": "프테라나이트", + "AGGRONITE": "보스로라나이트", + "ALAKAZITE": "후딘나이트", + "ALTARIANITE": "파비코리나이트", + "AMPHAROSITE": "전룡나이트", + "AUDINITE": "다부니나이트", + "BANETTITE": "깜까미나이트", + "BEEDRILLITE": "독침붕나이트", + "BLASTOISINITE": "거북왕나이트", + "BLAZIKENITE": "번치코나이트", + "CAMERUPTITE": "폭타나이트", + "CHARIZARDITE_X": "리자몽나이트 X", + "CHARIZARDITE_Y": "리자몽나이트 Y", + "DIANCITE": "디안시나이트", + "GALLADITE": "엘레이드나이트", + "GARCHOMPITE": "한카리아스나이트", + "GARDEVOIRITE": "가디안나이트", + "GENGARITE": "팬텀나이트", + "GLALITITE": "얼음귀신나이트", + "GYARADOSITE": "갸라도스나이트", + "HERACRONITE": "헤라크로스나이트", + "HOUNDOOMINITE": "헬가나이트", + "KANGASKHANITE": "캥카나이트", + "LATIASITE": "라티아스나이트", + "LATIOSITE": "라티오스나이트", + "LOPUNNITE": "이어롭나이트", + "LUCARIONITE": "루카리오나이트", + "MANECTITE": "썬더볼트나이트", + "MAWILITE": "입치트나이트", + "MEDICHAMITE": "요가램나이트", + "METAGROSSITE": "메타그로스나이트", + "MEWTWONITE_X": "뮤츠나이트 X", + "MEWTWONITE_Y": "뮤츠나이트 Y", + "PIDGEOTITE": "피죤투나이트", + "PINSIRITE": "쁘사이저나이트", + "RAYQUAZITE": "레쿠쟈나이트", + "SABLENITE": "깜까미나이트", + "SALAMENCITE": "보만다나이트", + "SCEPTILITE": "나무킹나이트", + "SCIZORITE": "핫삼나이트", + "SHARPEDONITE": "샤크니아나이트", + "SLOWBRONITE": "야도란나이트", + "STEELIXITE": "강철톤나이트", + "SWAMPERTITE": "대짱이나이트", + "TYRANITARITE": "마기라스나이트", + "VENUSAURITE": "이상해꽃나이트", + + "BLUE_ORB": "쪽빛구슬", + "RED_ORB": "주홍구슬", + "SHARP_METEORITE": "뾰족한운석", + "HARD_METEORITE": "단단한운석", + "SMOOTH_METEORITE": "부드러운운석", + "ADAMANT_CRYSTAL": "큰금강옥", + "LUSTROUS_ORB": "큰백옥", + "GRISEOUS_CORE": "큰백금옥", + "REVEAL_GLASS": "비추는거울", + "GRACIDEA": "그라시데아꽃", + "MAX_MUSHROOMS": "다이버섯", + "DARK_STONE": "다크스톤", + "LIGHT_STONE": "라이트스톤", + "PRISON_BOTTLE": "굴레의항아리", + "N_LUNARIZER": "네크로플러스루나", + "N_SOLARIZER": "네크로플러스솔", + "RUSTED_SWORD": "녹슨검", + "RUSTED_SHIELD": "녹슨방패", + "ICY_REINS_OF_UNITY": "차가운유대의고삐", + "SHADOW_REINS_OF_UNITY": "검은유대의고삐", + "WELLSPRING_MASK": "우물의가면", + "HEARTHFLAME_MASK": "화덕의가면", + "CORNERSTONE_MASK": "주춧돌의가면", + "SHOCK_DRIVE": "번개카세트", + "BURN_DRIVE": "블레이즈카세트", + "CHILL_DRIVE": "프리즈카세트", + "DOUSE_DRIVE": "아쿠아카세트", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "노말", + "FIGHTING": "격투", + "FLYING": "비행", + "POISON": "독", + "GROUND": "땅", + "ROCK": "바위", + "BUG": "벌레", + "GHOST": "고스트", + "STEEL": "강철", + "FIRE": "불꽃", + "WATER": "물", + "GRASS": "풀", + "ELECTRIC": "전기", + "PSYCHIC": "에스퍼", + "ICE": "얼음", + "DRAGON": "드래곤", + "DARK": "악", + "FAIRY": "페어리", + "STELLAR": "스텔라", + }, +} as const; \ No newline at end of file diff --git a/src/locales/ko/splash-messages.ts b/src/locales/ko/splash-messages.ts new file mode 100644 index 00000000000..2c0b8a31c6d --- /dev/null +++ b/src/locales/ko/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "전투에서 승리하세요!", + "joinTheDiscord": "디스코드에 가입하세요!", + "infiniteLevel": "무한한 레벨!", + "everythingStacks": "모든 것이 누적됩니다!", + "optionalSaveScumming": "원한다면 세이브 노가다를!", + "biomes": "35개의 지역!", + "openSource": "오픈소스!", + "playWith5xSpeed": "5배속으로 플레이해봐요!", + "liveBugTesting": "라이브 버그 테스트!", + "heavyRoR2Influence": "RoR2에 강하게 영감을 받았어요!", + "pokemonRiskAndPokemonRain": "포켓몬 '리스크' 오브 포켓몬 '레인'!", + "nowWithMoreSalt": "이제 33% 더 과몰입 가능!", + "infiniteFusionAtHome": "집에서 인피니트 퓨전을 즐겨보세요!", + "brokenEggMoves": "알기술까기!", + "magnificent": "Magnificent!", + "mubstitute": "Mubstitute!", + "thatsCrazy": "미쳤습니다!", + "oranceJuice": "오렌지 쥬스!", + "questionableBalancing": "의심스러운 밸런싱!", + "coolShaders": "쿨한 셰이더!", + "aiFree": "AI-Free!", + "suddenDifficultySpikes": "돌연사 가능!", + "basedOnAnUnfinishedFlashGame": "무한 플래시게임 기반!", + "moreAddictiveThanIntended": "기획보다 중독적이에요!", + "mostlyConsistentSeeds": "일관성있는 랜덤 시드!", + "achievementPointsDontDoAnything": "업적 포인트는 아무것도 하지 않습니다!", + "youDoNotStartAtLevel": "레벨 2000에서 시작하지 않아요!", + "dontTalkAboutTheManaphyEggIncident": "마나피 알 사건에 대해선 이야기하지 맙시다!", + "alsoTryPokengine": "Pokéngine도 해봐요!", + "alsoTryEmeraldRogue": "Emerald Rogue도 해봐요!", + "alsoTryRadicalRed": "Radical Red도 해봐요!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/locales/ko/starter-select-ui-handler.ts b/src/locales/ko/starter-select-ui-handler.ts index 254f15410fd..b6f4b46ac67 100644 --- a/src/locales/ko/starter-select-ui-handler.ts +++ b/src/locales/ko/starter-select-ui-handler.ts @@ -7,6 +7,15 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam":"이 포켓몬들로 시작하시겠습니까?", + "gen1": "1세대", + "gen2": "2세대", + "gen3": "3세대", + "gen4": "4세대", + "gen5": "5세대", + "gen6": "6세대", + "gen7": "7세대", + "gen8": "8세대", + "gen9": "9세대", "growthRate": "성장 속도", "ability": "특성:", "passive": "패시브:", diff --git a/src/locales/ko/trainers.ts b/src/locales/ko/trainers.ts new file mode 100644 index 00000000000..b692e5d87f0 --- /dev/null +++ b/src/locales/ko/trainers.ts @@ -0,0 +1,240 @@ +import {SimpleTranslationEntries} from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "사천왕", + "gym_leader": "체육관 관장", + "gym_leader_female": "체육관 관장", + "champion": "챔피언", + "rival": "라이벌", + "professor": "박사", + "frontier_brain": "프런티어 브레인", + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "엘리트 트레이너", + "ace_trainer_female": "엘리트 트레이너", + "ace_duo": "엘리트 콤비", + "artist": "예술가", + "artist_female": "예술가", + "backers": "팬클럽", + "backpacker": "백팩커", + "backpacker_female": "백팩커", + "backpackers": "백팩커", + "baker": "제빵사", + "battle_girl": "배틀걸", + "beauty": "아가씨", + "beginners": "반바지 꼬마 & 짧은 치마", // 확인 필요 + "biker": "폭주족", + "black_belt": "태권왕", + "breeder": "포켓몬 브리더", + "breeder_female": "포켓몬 브리더", + "breeders": "포켓몬 브리더", + "clerk": "비즈니스맨", + "clerk_female": "여사원", + "colleagues": "비즈니스 파트너", + "crush_kin": "배틀 커플", // 임의번역 + "cyclist": "사이클링", + "cyclist_female": "사이클링", + "cyclists": "사이클링", + "dancer": "댄서", + "dancer_female": "댄서", + "depot_agent": "역무원", + "doctor": "의사", + "doctor_female": "간호사", // doctor_f.png 파일이 간호사 + "fishermen": "낚시꾼", + "fishermen_female": "낚시꾼", + "gentleman": "신사", + "guitarist": "기타리스트", + "guitarist_female": "기타리스트", + "harlequin": "어릿광대", + "hiker": "등산가", + "hooligans": "폭주족 & 빡빡이", // 확인 필요 + "hoopster": "농구선수", + "infielder": "야구선수", + "janitor": "청소부", + "lady": "아기씨", + "lass": "짧은 치마", + "linebacker": "미식축구선수", + "maid": "메이드", + "madame": "마담", + "medical_team": "의료팀", + "musican": "뮤지션", + "hex_maniac": "오컬트마니아", + "nurse": "간호사", + "nursery_aide": "보육사", + "officer": "경찰관", + "parasol_lady": "파라솔 아가씨", + "pilot": "파일럿", + "poké_fan": "애호가클럽", + "poké_fan_family": "애호가부부", + "preschooler": "보육원아", + "preschooler_female": "보육원아", + "preschoolers": "보육원아", + "psychic": "초능력자", + "psychic_female": "초능력자", + "psychics": "초능력자", + "pokémon_ranger": "포켓몬 레인저", + "pokémon_rangers": "포켓몬 레인저", + "ranger": "포켓몬 레인저", + "restaurant_staff": "요리사", // 혹은 오너로 추정 + "rich_boy": "도련님", + "rich_couple": "신사 & 마담", // 확인 필요 + "rich_kids": "도련님 & 아가씨", // 확인 필요 + "roughneck": "빡빡이", + "scientist": "연구원", + "scientist_female": "연구원", + "scientists": "연구원", + "smasher": "테니스선수", + "snow_worker": "작업원", + "snow_worker_female": "작업원", + "striker": "축구선수", + "school_kid": "학원끝난 아이", + "school_kid_female": "학원끝난 아이", + "school_kids": "학원끝난 아이", + "swimmer": "수연팬티 소년", + "swimmer_female": "비키니 아가씨", + "swimmers": "수영팬티 소년 & 비키니 아가씨", // 확인 필요 + "twins": "쌍둥이", + "veteran": "베테랑 트레이너", + "veteran_female": "베테랑 트레이너", + "veteran_duo": "베테랑 콤비", + "waiter": "웨이터", + "waitress": "웨이트리스", + "worker": "작업원", + "worker_female": "작업원", + "workers": "작업원", + "youngster": "반바지 꼬마" +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "웅", + "misty": "이슬", + "lt_surge": "마티스", + "erika": "민화", + "janine": "도희", + "sabrina": "초련", + "blaine": "강연", + "giovanni": "비주기", + "falkner": "비상", + "bugsy": "호일", + "whitney": "꼭두", + "morty": "유빈", + "chuck": "사도", + "jasmine": "규리", + "pryce": "류옹", + "clair": "이향", + "roxanne": "원규", + "brawly": "철구", + "wattson": "암페어", + "flannery": "민지", + "norman": "종길", + "winona": "은송", + "tate": "풍", + "liza": "란", + "juan": "아단", + "roark": "강석", + "gardenia": "유채", + "maylene": "자도", + "crasher_wake": "맥실러", + "fantina": "멜리사", + "byron": "동관", + "candice": "무청", + "volkner": "전진", + "cilan": "덴트", + "chili": "팟", + "cress": "콘", + "cheren": "체렌", + "lenora": "알로에", + "roxie": "보미카", + "burgh": "아티", + "elesa": "카밀레", + "clay": "야콘", + "skyla": "풍란", + "brycen": "담죽", + "drayden": "사간", + "marlon": "시즈", + "viola": "비올라", + "grant": "자크로", + "korrina": "코르니", + "ramos": "후쿠지", + "clemont": "시트론", + "valerie": "마슈", + "olympia": "고지카", + "wulfric": "우르프", + "milo": "아킬", + "nessa": "야청", + "kabu": "순무", + "bea": "채두", + "allister": "어니언", + "opal": "포플러", + "bede": "비트", + "gordie": "마쿠와", + "melony": "멜론", + "piers": "두송", + "marnie": "마리", + "raihan": "금랑", + "katy": "단풍", + "brassius": "콜사", + "iono": "모야모", + "kofu": "곤포", + "larry": "청목", + "ryme": "라임", + "tulip": "리파", + "grusha": "그루샤", + "lorelei": "칸나", + "bruno": "시바", + "agatha": "국화", + "lance": "목호", + "will": "일목", + "koga": "독수", + "karen": "카렌", + "sidney": "혁진", + "phoebe": "회연", + "glacia": "미혜", + "drake": "권수", + "aaron": "충호", + "bertha": "들국화", + "flint": "대엽", + "lucian": "오엽", + "shauntal": "망초", + "marshal": "연무", + "grimsley": "블래리", + "caitlin": "카틀레야", + "malva": "파키라", + "siebold": "즈미", + "wikstrom": "간피", + "drasna": "드라세나", + "hala": "할라", + "molayne": "멀레인", + "olivia": "라이치", + "acerola": "아세로라", + "kahili": "카일리", + "rika": "칠리", + "poppy": "뽀삐", + "larry_elite": "청목", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "팔자크", + "crispin": "하솔", + "amarys": "네리네", + "lacey": "타로", + "drayton": "제빈", + "blue": "그린", + "red": "레드", + "lance_champion": "목호", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "성호", + "wallace": "윤진", + "cynthia": "난천", + "alder": "노간주", + "iris": "아이리스", + "diantha": "카르네", + "hau": "하우", + "geeta": "테사", + "nemona": "네모", + "kieran": "카지", + "leon": "단델", + "rival": "핀", + "rival_female": "아이비", +} as const; diff --git a/src/locales/ko/weather.ts b/src/locales/ko/weather.ts new file mode 100644 index 00000000000..be2a9b577dc --- /dev/null +++ b/src/locales/ko/weather.ts @@ -0,0 +1,45 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "햇살이 강해졌다!", + "sunnyLapseMessage": "햇살이 강하다", + "sunnyClearMessage": "햇살이 원래대로 되돌아왔다!", + + "rainStartMessage": "비가 내리기 시작했다!", + "rainLapseMessage": "비가 계속 내리고 있다", + "rainClearMessage": "비가 그쳤다!", + + "sandstormStartMessage": "모래바람이 불기 시작했다!", + "sandstormLapseMessage": "모래바람이 세차게 분다", + "sandstormClearMessage": "모래바람이 가라앉았다!", + "sandstormDamageMessage": "모래바람이\n{{pokemonPrefix}}{{pokemonName}}를(을) 덮쳤다!", + + "hailStartMessage": "싸라기눈이 내리기 시작했다!", + "hailLapseMessage": "싸라기눈이 계속 내리고 있다", + "hailClearMessage": "싸라기눈이 그쳤다!", + "hailDamageMessage": "싸라기눈이\n{{pokemonPrefix}}{{pokemonName}}를(을) 덮쳤다!", + + "snowStartMessage": "눈이 내리기 시작했다!", + "snowLapseMessage": "눈이 계속 내리고 있다", + "snowClearMessage": "눈이 그쳤다!", + + // 이하 LapseMessage 임의번역 + "fogStartMessage": "발밑이 안개로 자욱해졌다!", + "fogLapseMessage": "발밑이 안개로 자욱하다", + "fogClearMessage": "발밑의 안개가 사라졌다!", + + "heavyRainStartMessage": "강한 비가 내리기 시작했다!", + "heavyRainLapseMessage": "강한 비가 계속 내리고 있다", + "heavyRainClearMessage": "강한 비가 그쳤다!", + + "harshSunStartMessage": "햇살이 아주 강해졌다!", + "harshSunLapseMessage": "햇살이 아주 강하다", + "harshSunClearMessage": "햇살이 원래대로 되돌아왔다!", + + "strongWindsStartMessage": "수수께끼의 난기류가\n비행포켓몬을 지킨다!", + "strongWindsLapseMessage": "수수께끼의 난기류가 강렬하게 불고 있다", + "strongWindsClearMessage": "수수께끼의 난기류가 멈췄다!" // 임의번역 +} \ No newline at end of file