mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-11-10 05:11:21 +01:00
Add Korean Locale (#737)
* Add korean locale without translation * Translate ability,move,pokemon to Korean * Translate miscellaneous to Korean * Add Accuracy in the fight ui to Korean * Apply nature,growth rate lang files to Korean * Add missed file import to Korean config.ts * Add font and its license for Korean then Apply it pokemon-dppt from FontStruction and its license * Translate any other lang file to Korean * Cleanup Korean locale files Indentation for pokemon and starter-select-ui-handler Make config shoft * Update Korean translation for the latest commits ToggleSize dependencye4d3f73d, + Align togglesize locale text Frisk description6d73500aStarter select UI34a4f869,74ee3329Add ability triggers locale file1c56efc8Zippy Zap description4e279224* Implement locale font loading Revert multiple font usage from stylefe7fe845Dynamic font loading on language changed * Translate new localization parts to Korean Return to title become save and quit menu-ui-handler.tsac2e7812Generation text added starter-select-ui-handler.tsafcffab9Missing translations for learning move battles.ts:countdownPoof, learnMoveAnd44c0d29cWeather & evolution texts translated config.ts, weather.ts, menu.tsb8dff030Added modifier type file for item translate config.ts, modifier-type.tsb5ae8330,b82b8c31Egg gatcha machine is now Korean config.ts, egg.ts975d1ed5Add splash message literals to locales config.ts, splash-messages.ts8dce9fa2Trainers are also localized config.ts, trainers.tsb06190c4,7f003d46,364b19dfDouble battle trainers appeared battle.ts:trainerAppearedDoublef1e97f3b* Small patches to Korean translations Include generation consistency (learnMovePrompt, eggHatching), wrong space (learnMoveReplaceQuestion), missing word (learnMoveNotLearned), match to modifier-type.ts (ivScannerUseQuestion), and match to english and else (bossAppeared) * Apply edits to Korean translation Re-order config.ts3f571a36Fix splash message attribute to fixed config429e6635* Corrections and new text for Korean translations Trainer misstypo correction0cd305d7trainer.ts BerryType localization25014208config.ts, berry.ts IV scanner updated96af567cconfig.ts, battle-message-ui-handler.ts Melt stat and type into info3cc9c93config.ts, modifier-type.ts pokemon-stat.ts -> pokemon-info.ts * Update Korean locale up to date Larry and Lance are now unique93dee06eTrainer names errors about 'poké'49adedbc,13f2cafeWrong text edit for maylene trainers.ts Egg voucher translation7216990dconfig.ts, voucher.ts Cleanup starter select ui handlerca1ae4b5,b95a59c0starter-select-ui-handler.ts Correct text overflow tutorial.ts * Modify loadFont to fit in nonExplicitSupportedLngs 'ko-KR' or 'ko' is loaded browser by browser, in any case font will be loaded. * Update Korean translations * Apply updated text Berry pouch8b4aa872modifier-type.ts Acrobatics0d614526move.ts failedToLoadSaveData32fadf8cmenu.ts HoneyGathercaeb22c2ability.ts * Apply added Text Plates and Memoriesf914b8femodifier-type.ts trainerSendOut, moneyWon, partyFull79af1152battle.ts gym_leader_double, champion_double, Double Names aaa95ebe elite_four_female, champion_femaleac2f7755trainers.ts * Apply new locale category implement Biomesde1c2b2bconfig.ts, biome.ts Trainer dialogueac2f7755,d23d8356config.ts, dialogue.ts Statistics6d2b8ef2config.ts, game-stats-ui-handler Info Containerfb26b6d5config.ts, pokemon-info-container.ts * Recover coding style include 2-space-indentation * Add Korean Font No more license text file * Add missing config to Korean * Fix ESLint failure on Korean * Fix ESLint failure on Korean 2 * Update to Main Localization Changes --------- Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
This commit is contained in:
parent
ac4e72c87a
commit
8e157edce9
BIN
public/fonts/PokePT_Wansung.ttf
Normal file
BIN
public/fonts/PokePT_Wansung.ttf
Normal file
Binary file not shown.
6
src/locales/ko/ability-trigger.ts
Normal file
6
src/locales/ko/ability-trigger.ts
Normal file
@ -0,0 +1,6 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const abilityTriggers: SimpleTranslationEntries = {
|
||||
"blockRecoilDamage" : "{{pokemonName}}(는)은 {{abilityName}} 때문에\n반동 데미지를 받지 않는다!",
|
||||
"badDreams": "{{pokemonName}} is tormented!",
|
||||
} as const;
|
||||
1252
src/locales/ko/ability.ts
Normal file
1252
src/locales/ko/ability.ts
Normal file
File diff suppressed because it is too large
Load Diff
10
src/locales/ko/battle-message-ui-handler.ts
Normal file
10
src/locales/ko/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "최고",
|
||||
"ivFantastic": "훌륭하다",
|
||||
"ivVeryGood": "굉장히 좋다",
|
||||
"ivPrettyGood": "상당히 좋다",
|
||||
"ivDecent": "적당하다",
|
||||
"ivNoGood": "별로인 듯",
|
||||
} as const;
|
||||
59
src/locales/ko/battle.ts
Normal file
59
src/locales/ko/battle.ts
Normal file
@ -0,0 +1,59 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battle: SimpleTranslationEntries = {
|
||||
"bossAppeared": "{{bossName}}(이)가 나타났다.",
|
||||
"trainerAppeared": "{{trainerName}}(이)가\n승부를 걸어왔다!",
|
||||
"trainerAppearedDouble": "{{trainerName}}(이)가\n승부를 걸어왔다!",
|
||||
"trainerSendOut": "{{trainerName}}(는)은\n{{pokemonName}}(를)을 내보냈다!",
|
||||
"singleWildAppeared": "앗! 야생 {{pokemonName}}(이)가\n튀어나왔다!",
|
||||
"multiWildAppeared": "야생 {{pokemonName1}}(과)와\n{{pokemonName2}}(이)가 튀어나왔다!",
|
||||
"playerComeBack": "돌아와, {{pokemonName}}!",
|
||||
"trainerComeBack": "{{trainerName}}(는)은 {{pokemonName}}를(을) 넣어버렸다!",
|
||||
"playerGo": "가랏! {{pokemonName}}!",
|
||||
"trainerGo": "{{trainerName}}(는)은 {{pokemonName}}를(을) 내보냈다!",
|
||||
"switchQuestion": "{{pokemonName}}를(을)\n교체하시겠습니까?",
|
||||
"trainerDefeated": "{{trainerName}}과(와)의\n승부에서 이겼다!",
|
||||
"moneyWon": "상금으로\n₽{{moneyAmount}}을 손에 넣었다!",
|
||||
"pokemonCaught": "신난다-!\n{{pokemonName}}(를)을 잡았다!",
|
||||
"partyFull": "지닌 포켓몬이 가득 찼습니다. {{pokemonName}}(를)\n대신해 포켓몬을 놓아주시겠습니까?",
|
||||
"pokemon": "포켓몬",
|
||||
"sendOutPokemon": "가랏! {{pokemonName}}!",
|
||||
"hitResultCriticalHit": "급소에 맞았다!",
|
||||
"hitResultSuperEffective": "효과가 굉장했다!",
|
||||
"hitResultNotVeryEffective": "효과가 별로인 듯하다…",
|
||||
"hitResultNoEffect": "{{pokemonName}}에게는\n효과가 없는 것 같다…",
|
||||
"hitResultOneHitKO": "일격필살!",
|
||||
"attackFailed": "하지만 실패했다!",
|
||||
"attackHitsCount": "{{count}}번 맞았다!",
|
||||
"expGain": "{{pokemonName}}(는)은\n{{exp}} 경험치를 얻었다!",
|
||||
"levelUp": "{{pokemonName}}(는)은\n레벨 {{level}}(으)로 올랐다!",
|
||||
"learnMove": "{{pokemonName}}(는)은 새로\n{{moveName}}를(을) 배웠다!",
|
||||
"learnMovePrompt": "{{pokemonName}}(는)은 새로\n{{moveName}}를(을) 배우고 싶다!…",
|
||||
"learnMoveLimitReached": "그러나 {{pokemonName}}(는)은 기술을 4개\n알고 있으므로 더 이상 배울 수 없다!",
|
||||
"learnMoveReplaceQuestion": "{{moveName}} 대신 다른 기술을 잊게 하겠습니까?",
|
||||
"learnMoveStopTeaching": "그럼… {{moveName}}를(을)\n배우는 것을 포기하겠습니까?",
|
||||
"learnMoveNotLearned": "{{pokemonName}}(는)은 {{moveName}}를(을)\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": "기술의 남은 포인트가 없다!",
|
||||
"moveDisabled": "{{moveName}}를(을) 쓸 수 없다!",
|
||||
"noPokeballForce": "본 적 없는 힘이\n볼을 사용하지 못하게 한다.",
|
||||
"noPokeballTrainer": "다른 트레이너의 포켓몬은 잡을 수 없다!",
|
||||
"noPokeballMulti": "안돼! 2마리 있어서\n목표를 정할 수가 없어…!",
|
||||
"noPokeballStrong": "너무 강해서 잡을 수가 없다!\n먼저 약화시켜야 한다!",
|
||||
"noEscapeForce": "본 적 없는 힘이\n도망칠 수 없게 한다.",
|
||||
"noEscapeTrainer": "안돼! 승부 도중에\n상대에게 등을 보일 순 없어!",
|
||||
"noEscapePokemon": "{{pokemonName}}의 {{moveName}}때문에\n{{escapeVerb}} 수 없다!",
|
||||
"runAwaySuccess": "무사히 도망쳤다!",
|
||||
"runAwayCannotEscape": "도망칠 수 없었다!",
|
||||
"escapeVerbSwitch": "교체할",
|
||||
"escapeVerbFlee": "도망칠",
|
||||
"notDisabled": "{{pokemonName}}의\n{{moveName}} 사슬묶기가 풀렸다!",
|
||||
"skipItemQuestion": "아이템을 받지 않고 넘어가시겠습니까?",
|
||||
"eggHatching": "어라…?",
|
||||
"ivScannerUseQuestion": "{{pokemonName}}에게 개체값탐지기를 사용하시겠습니까?"
|
||||
} as const;
|
||||
48
src/locales/ko/berry.ts
Normal file
48
src/locales/ko/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "자뭉열매",
|
||||
effect: "지니게 하면 HP가 50% 미만일 때 HP를 25% 회복",
|
||||
},
|
||||
"LUM": {
|
||||
name: "리샘열매",
|
||||
effect: "지니게 하면 모든 상태 이상과 혼란을 회복",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "의문열매",
|
||||
effect: "지니게 하면 효과가 뛰어난 기술에 당했을 때 HP를 25% 회복",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "치리열매",
|
||||
effect: "지니게 하면 HP가 25% 미만일 때 자신의 공격이 상승",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "용아열매",
|
||||
effect: "지니게 하면 HP가 25% 미만일 때 자신의 방어가 상승",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "야타비열매",
|
||||
effect: "지니게 하면 HP가 25% 미만일 때 자신의 특수공격이 상승",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "규살열매",
|
||||
effect: "지니게 하면 HP가 25% 미만일 때 자신의 특수방어가 상승",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "캄라열매",
|
||||
effect: "지니게 하면 HP가 25% 미만일 때 자신의 스피드가 상승",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "랑사열매",
|
||||
effect: "지니게 하면 HP가 25% 미만일 때 공격이 급소를 맞히기 쉬워짐",
|
||||
},
|
||||
"STARF": {
|
||||
name: "스타열매",
|
||||
effect: "지니게 하면 HP가 25% 미만일 때 능력 중의 하나가 크게 상승",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "과사열매",
|
||||
effect: "지니게 하면 기술의 PP가 0이 되었을 때 PP를 10만큼 회복",
|
||||
},
|
||||
} as const;
|
||||
40
src/locales/ko/biome.ts
Normal file
40
src/locales/ko/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "기억할 수 없는 곳",
|
||||
"TOWN": "마을",
|
||||
"PLAINS": "평야",
|
||||
"GRASS": "풀숲",
|
||||
"TALL_GRASS": "높은 풀숲",
|
||||
"METROPOLIS": "대도시",
|
||||
"FOREST": "숲",
|
||||
"SEA": "바다",
|
||||
"SWAMP": "늪지",
|
||||
"BEACH": "해변",
|
||||
"LAKE": "호수",
|
||||
"SEABED": "해저",
|
||||
"MOUNTAIN": "산",
|
||||
"BADLANDS": "악지",
|
||||
"CAVE": "동굴",
|
||||
"DESERT": "사막",
|
||||
"ICE_CAVE": "얼음 동굴",
|
||||
"MEADOW": "목초지",
|
||||
"POWER_PLANT": "발전소",
|
||||
"VOLCANO": "화산",
|
||||
"GRAVEYARD": "묘지",
|
||||
"DOJO": "도장",
|
||||
"FACTORY": "공장",
|
||||
"RUINS": "고대 폐허",
|
||||
"WASTELAND": "황무지",
|
||||
"ABYSS": "심연",
|
||||
"SPACE": "성층권",
|
||||
"CONSTRUCTION_SITE": "공사장",
|
||||
"JUNGLE": "정글",
|
||||
"FAIRY_CAVE": "요정 동굴",
|
||||
"TEMPLE": "사원",
|
||||
"SLUM": "슬럼",
|
||||
"SNOWY_FOREST": "눈덮인 숲",
|
||||
"ISLAND": "섬",
|
||||
"LABORATORY": "연구소",
|
||||
"END": "???",
|
||||
} as const;
|
||||
9
src/locales/ko/command-ui-handler.ts
Normal file
9
src/locales/ko/command-ui-handler.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const commandUiHandler: SimpleTranslationEntries = {
|
||||
"fight": "싸우다",
|
||||
"ball": "볼",
|
||||
"pokemon": "포켓몬",
|
||||
"run": "도망치다",
|
||||
"actionMessage": "{{pokemonName}}(는)은 무엇을 할까?",
|
||||
} as const;
|
||||
74
src/locales/ko/config.ts
Normal file
74
src/locales/ko/config.ts
Normal file
@ -0,0 +1,74 @@
|
||||
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";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||
import { voucher } from "./voucher";
|
||||
import {
|
||||
PGMdialogue,
|
||||
PGFdialogue,
|
||||
PGMbattleSpecDialogue,
|
||||
PGFbattleSpecDialogue,
|
||||
PGMmiscDialogue,
|
||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
||||
} from "./dialogue";
|
||||
import { biome } from "./biome";
|
||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||
|
||||
|
||||
export const koConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
growth: growth,
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonInfo: pokemonInfo,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
gameStatsUiHandler: gameStatsUiHandler,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
pokemonInfoContainer: pokemonInfoContainer,
|
||||
PGMdialogue: PGMdialogue,
|
||||
PGFdialogue: PGFdialogue,
|
||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||
PGMmiscDialogue: PGMmiscDialogue,
|
||||
PGFmiscDialogue: PGFmiscDialogue,
|
||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
||||
};
|
||||
2442
src/locales/ko/dialogue.ts
Normal file
2442
src/locales/ko/dialogue.ts
Normal file
File diff suppressed because it is too large
Load Diff
21
src/locales/ko/egg.ts
Normal file
21
src/locales/ko/egg.ts
Normal file
@ -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;
|
||||
7
src/locales/ko/fight-ui-handler.ts
Normal file
7
src/locales/ko/fight-ui-handler.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const fightUiHandler: SimpleTranslationEntries = {
|
||||
"pp": "PP",
|
||||
"power": "위력",
|
||||
"accuracy": "명중률",
|
||||
} as const;
|
||||
44
src/locales/ko/game-stats-ui-handler.ts
Normal file
44
src/locales/ko/game-stats-ui-handler.ts
Normal file
@ -0,0 +1,44 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const gameStatsUiHandler: SimpleTranslationEntries = {
|
||||
"stats": "통계",
|
||||
"playTime": "플레이타임",
|
||||
"totalBattles": "배틀 수",
|
||||
"starters": "스타팅",
|
||||
"shinyStarters": "색다른 스타팅",
|
||||
"speciesSeen": "만난 종류",
|
||||
"speciesCaught": "잡은 종류",
|
||||
"ribbonsOwned": "리본 소지",
|
||||
"classicRuns": "클래식 플레이",
|
||||
"classicWins": "클래식 클리어",
|
||||
"dailyRunAttempts": "데일리 런 플레이",
|
||||
"dailyRunWins": "데일리 런 클리어",
|
||||
"endlessRuns": "엔드리스 플레이",
|
||||
"highestWaveEndless": "최대 웨이브(엔드리스)",
|
||||
"highestMoney": "최고 소지금",
|
||||
"highestDamage": "최대 데미지",
|
||||
"highestHPHealed": "최대 회복량",
|
||||
"pokemonEncountered": "만난 포켓몬",
|
||||
"pokemonDefeated": "쓰러뜨린 포켓몬",
|
||||
"pokemonCaught": "잡은 포켓몬",
|
||||
"eggsHatched": "부화시킨 알",
|
||||
"subLegendsSeen": "만난 준전설",
|
||||
"subLegendsCaught": "잡은 준전설",
|
||||
"subLegendsHatched": "부화시킨 준전설",
|
||||
"legendsSeen": "만난 전설",
|
||||
"legendsCaught": "잡은 전설",
|
||||
"legendsHatched": "부화시킨 전설",
|
||||
"mythicalsSeen": "만난 환상",
|
||||
"mythicalsCaught": "잡은 환상",
|
||||
"mythicalsHatched": "부화시킨 환상",
|
||||
"shiniesSeen": "만난 색다른",
|
||||
"shiniesCaught": "잡은 색다른",
|
||||
"shiniesHatched": "부화시킨 색다른",
|
||||
"pokemonFused": "포켓몬 합체",
|
||||
"trainersDefeated": "트레이너 승리",
|
||||
"eggsPulled": "뽑은 알",
|
||||
"rareEggsPulled": "뽑은 레어 알",
|
||||
"epicEggsPulled": "뽑은 에픽 알",
|
||||
"legendaryEggsPulled": "뽑은 레전더리 알",
|
||||
"manaphyEggsPulled": "뽑은 마나피 알",
|
||||
} as const;
|
||||
10
src/locales/ko/growth.ts
Normal file
10
src/locales/ko/growth.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const growth: SimpleTranslationEntries = {
|
||||
"Erratic": "불규칙",
|
||||
"Fast": "빠름",
|
||||
"Medium_Fast": "중간 빠름",
|
||||
"Medium_Slow": "중간 느림",
|
||||
"Slow": "느림",
|
||||
"Fluctuating": "변동"
|
||||
} as const;
|
||||
23
src/locales/ko/menu-ui-handler.ts
Normal file
23
src/locales/ko/menu-ui-handler.ts
Normal file
@ -0,0 +1,23 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const menuUiHandler: SimpleTranslationEntries = {
|
||||
"GAME_SETTINGS": "게임 설정",
|
||||
"ACHIEVEMENTS": "업적",
|
||||
"STATS": "통계",
|
||||
"VOUCHERS": "바우처",
|
||||
"EGG_LIST": "알 목록",
|
||||
"EGG_GACHA": "알 뽑기",
|
||||
"MANAGE_DATA": "데이터 관리",
|
||||
"COMMUNITY": "커뮤니티",
|
||||
"SAVE_AND_QUIT": "저장 후 나가기",
|
||||
"LOG_OUT": "로그아웃",
|
||||
"slot": "슬롯 {{slotNumber}}",
|
||||
"importSession": "세션 불러오기",
|
||||
"importSlotSelect": "불러올 슬롯을 골라주세요.",
|
||||
"exportSession": "세션 내보내기",
|
||||
"exportSlotSelect": "내보낼 슬롯을 골라주세요.",
|
||||
"importData": "데이터 불러오기",
|
||||
"exportData": "데이터 내보내기",
|
||||
"cancel": "취소",
|
||||
"losingProgressionWarning": "전투 시작으로부터의 진행 상황을 잃게 됩니다. 계속하시겠습니까?"
|
||||
} as const;
|
||||
51
src/locales/ko/menu.ts
Normal file
51
src/locales/ko/menu.ts
Normal file
@ -0,0 +1,51 @@
|
||||
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": "취소",
|
||||
"continue": "계속하기",
|
||||
"dailyRun": "데일리 런 (베타)",
|
||||
"loadGame": "불러오기",
|
||||
"newGame": "새 게임",
|
||||
"selectGameMode": "게임 모드를 선택해주세요.",
|
||||
"logInOrCreateAccount": "로그인 또는 등록을 해 주세요. 개인정보를 요구하지 않습니다!",
|
||||
"username": "이름",
|
||||
"password": "비밀번호",
|
||||
"login": "로그인",
|
||||
"register": "등록",
|
||||
"emptyUsername": "이름은 비워둘 수 없습니다",
|
||||
"invalidLoginUsername": "사용할 수 없는 이름입니다",
|
||||
"invalidRegisterUsername": "이름은 알파벳, 숫자, 언더바(_)만 사용할 수 있습니다",
|
||||
"invalidLoginPassword": "사용할 수 없는 비밀번호입니다",
|
||||
"invalidRegisterPassword": "비밀번호는 여섯글자 이상이어야 합니다",
|
||||
"usernameAlreadyUsed": "이미 사용중인 이름입니다",
|
||||
"accountNonExistent": "등록되지 않은 이름입니다",
|
||||
"unmatchingPassword": "비밀번호가 틀립니다",
|
||||
"passwordNotMatchingConfirmPassword": "비밀번호가 일치하지 않습니다",
|
||||
"confirmPassword": "비밀번호 재입력",
|
||||
"registrationAgeWarning": "13세 이상입니다.",
|
||||
"backToLogin": "로그인 화면으로",
|
||||
"failedToLoadSaveData": "데이터를 불러올 수 없었습니다. 페이지를 새로고침해주세요.\n문제가 지속된다면, 디스코드 #Announcements 채널을 확인해주세요.",
|
||||
"sessionSuccess": "세션 불러오기 성공.",
|
||||
"failedToLoadSession": "세션을 불러올 수 없었습니다.\n파일이 손상되었을 수 있습니다.",
|
||||
"boyOrGirl": "너는 남자니?\n아니면 여자니?",
|
||||
"boy": "남자",
|
||||
"girl": "여자",
|
||||
"evolving": "…오잉!?\n{{pokemonName}}의 모습이…!",
|
||||
"stoppedEvolving": "얼라리…?\n{{pokemonName}}의 변화가 멈췄다!",
|
||||
"pauseEvolutionsQuestion": "{{pokemonName}}를(을) 진화하지 않게 만드시겠습니까?\n포켓몬 화면에서 다시 활성화시킬 수 있습니다.",
|
||||
"evolutionsPaused": "{{pokemonName}}의 진화가 비활성화되었다.",
|
||||
"evolutionDone": "축하합니다! {{pokemonName}}(는)은\n{{evolvedPokemonName}}(으)로 진화했습니다!",
|
||||
"dailyRankings": "일간 랭킹",
|
||||
"weeklyRankings": "주간 랭킹",
|
||||
"noRankings": "랭킹 정보 없음",
|
||||
"loading": "로딩 중…",
|
||||
"playersOnline": "플레이어 온라인",
|
||||
"empty":"빈 슬롯",
|
||||
"yes":"예",
|
||||
"no":"아니오",
|
||||
} as const;
|
||||
424
src/locales/ko/modifier-type.ts
Normal file
424
src/locales/ko/modifier-type.ts
Normal file
@ -0,0 +1,424 @@
|
||||
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: "사용한 나무열매가 소모되지 않을 확률 33% 추가" },
|
||||
|
||||
"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": "아쿠아카세트",
|
||||
|
||||
"FIST_PLATE": "주먹플레이트",
|
||||
"SKY_PLATE": "푸른하늘플레이트",
|
||||
"TOXIC_PLATE": "맹독플레이트",
|
||||
"EARTH_PLATE": "대지플레이트",
|
||||
"STONE_PLATE": "암석플레이트",
|
||||
"INSECT_PLATE": "비단벌레플레이트",
|
||||
"SPOOKY_PLATE": "원령플레이트",
|
||||
"IRON_PLATE": "강철플레이트",
|
||||
"FLAME_PLATE": "불구슬플레이트",
|
||||
"SPLASH_PLATE": "물방울플레이트",
|
||||
"MEADOW_PLATE": "초록플레이트",
|
||||
"ZAP_PLATE": "우뢰플레이트",
|
||||
"MIND_PLATE": "이상한플레이트",
|
||||
"ICICLE_PLATE": "고드름플레이트",
|
||||
"DRACO_PLATE": "용의플레이트",
|
||||
"DREAD_PLATE": "공포플레이트",
|
||||
"PIXIE_PLATE": "정령플레이트",
|
||||
"BLANK_PLATE": "순백플레이트",
|
||||
"LEGEND_PLATE": "레전드플레이트",
|
||||
"FIGHTING_MEMORY": "파이팅메모리",
|
||||
"FLYING_MEMORY": "플라잉메모리",
|
||||
"POISON_MEMORY": "포이즌메모리",
|
||||
"GROUND_MEMORY": "그라운드메모리",
|
||||
"ROCK_MEMORY": "록메모리",
|
||||
"BUG_MEMORY": "버그메모리",
|
||||
"GHOST_MEMORY": "고스트메모리",
|
||||
"STEEL_MEMORY": "스틸메모리",
|
||||
"FIRE_MEMORY": "파이어메모리",
|
||||
"WATER_MEMORY": "워터메모리",
|
||||
"GRASS_MEMORY": "그래스메모리",
|
||||
"ELECTRIC_MEMORY": "일렉트릭메모리",
|
||||
"PSYCHIC_MEMORY": "사이킥메모리",
|
||||
"ICE_MEMORY": "아이스메모리",
|
||||
"DRAGON_MEMORY": "드래곤메모리",
|
||||
"DARK_MEMORY": "다크메모리",
|
||||
"FAIRY_MEMORY": "페어리메모리",
|
||||
},
|
||||
} as const;
|
||||
3839
src/locales/ko/move.ts
Normal file
3839
src/locales/ko/move.ts
Normal file
File diff suppressed because it is too large
Load Diff
29
src/locales/ko/nature.ts
Normal file
29
src/locales/ko/nature.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const nature: SimpleTranslationEntries = {
|
||||
"Hardy": "노력",
|
||||
"Lonely": "외로움",
|
||||
"Brave": "용감",
|
||||
"Adamant": "고집",
|
||||
"Naughty": "개구쟁이",
|
||||
"Bold": "대담",
|
||||
"Docile": "온순",
|
||||
"Relaxed": "무사태평",
|
||||
"Impish": "장난꾸러기",
|
||||
"Lax": "촐랑",
|
||||
"Timid": "겁쟁이",
|
||||
"Hasty": "성급",
|
||||
"Serious": "성실",
|
||||
"Jolly": "명랑",
|
||||
"Naive": "천진난만",
|
||||
"Modest": "조심",
|
||||
"Mild": "의젓",
|
||||
"Quiet": "냉정",
|
||||
"Bashful": "수줍음",
|
||||
"Rash": "덜렁",
|
||||
"Calm": "차분",
|
||||
"Gentle": "얌전",
|
||||
"Sassy": "건방",
|
||||
"Careful": "신중",
|
||||
"Quirky": "변덕"
|
||||
} as const;
|
||||
10
src/locales/ko/pokeball.ts
Normal file
10
src/locales/ko/pokeball.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokeball: SimpleTranslationEntries = {
|
||||
"pokeBall": "몬스터볼",
|
||||
"greatBall": "슈퍼볼",
|
||||
"ultraBall": "하이퍼볼",
|
||||
"rogueBall": "로그볼",
|
||||
"masterBall": "마스터볼",
|
||||
"luxuryBall": "럭셔리볼",
|
||||
} as const;
|
||||
11
src/locales/ko/pokemon-info-container.ts
Normal file
11
src/locales/ko/pokemon-info-container.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfoContainer: SimpleTranslationEntries = {
|
||||
"moveset": "기술",
|
||||
"gender": "성별:",
|
||||
"ability": "특성:",
|
||||
"nature": "성격:",
|
||||
"epic": "에픽",
|
||||
"rare": "레어",
|
||||
"common": "커먼"
|
||||
} as const;
|
||||
41
src/locales/ko/pokemon-info.ts
Normal file
41
src/locales/ko/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "HP",
|
||||
"HPshortened": "HP",
|
||||
"ATK": "공격",
|
||||
"ATKshortened": "공격",
|
||||
"DEF": "방어",
|
||||
"DEFshortened": "방어",
|
||||
"SPATK": "특수공격",
|
||||
"SPATKshortened": "특공",
|
||||
"SPDEF": "특수방어",
|
||||
"SPDEFshortened": "특방",
|
||||
"SPD": "스피드",
|
||||
"SPDshortened": "스피드"
|
||||
},
|
||||
|
||||
Type: {
|
||||
"UNKNOWN": "Unknown",
|
||||
"NORMAL": "노말",
|
||||
"FIGHTING": "격투",
|
||||
"FLYING": "비행",
|
||||
"POISON": "독",
|
||||
"GROUND": "땅",
|
||||
"ROCK": "바위",
|
||||
"BUG": "벌레",
|
||||
"GHOST": "고스트",
|
||||
"STEEL": "강철",
|
||||
"FIRE": "불꽃",
|
||||
"WATER": "물",
|
||||
"GRASS": "풀",
|
||||
"ELECTRIC": "전기",
|
||||
"PSYCHIC": "에스퍼",
|
||||
"ICE": "얼음",
|
||||
"DRAGON": "드래곤",
|
||||
"DARK": "악",
|
||||
"FAIRY": "페어리",
|
||||
"STELLAR": "스텔라",
|
||||
},
|
||||
} as const;
|
||||
1086
src/locales/ko/pokemon.ts
Normal file
1086
src/locales/ko/pokemon.ts
Normal file
File diff suppressed because it is too large
Load Diff
37
src/locales/ko/splash-messages.ts
Normal file
37
src/locales/ko/splash-messages.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "전투에서 승리하세요!",
|
||||
"joinTheDiscord": "디스코드에 가입하세요!",
|
||||
"infiniteLevels": "무한한 레벨!",
|
||||
"everythingStacks": "모든 것이 누적됩니다!",
|
||||
"optionalSaveScumming": "원한다면 세이브 노가다를!",
|
||||
"biomes": "35개의 지역!",
|
||||
"openSource": "오픈소스!",
|
||||
"playWithSpeed": "5배속으로 플레이해봐요!",
|
||||
"liveBugTesting": "라이브 버그 테스트!",
|
||||
"heavyInfluence": "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;
|
||||
44
src/locales/ko/starter-select-ui-handler.ts
Normal file
44
src/locales/ko/starter-select-ui-handler.ts
Normal file
@ -0,0 +1,44 @@
|
||||
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":"이 포켓몬들로 시작하시겠습니까?",
|
||||
"gen1": "1세대",
|
||||
"gen2": "2세대",
|
||||
"gen3": "3세대",
|
||||
"gen4": "4세대",
|
||||
"gen5": "5세대",
|
||||
"gen6": "6세대",
|
||||
"gen7": "7세대",
|
||||
"gen8": "8세대",
|
||||
"gen9": "9세대",
|
||||
"growthRate": "성장 속도",
|
||||
"ability": "특성:",
|
||||
"passive": "패시브:",
|
||||
"nature": "성격:",
|
||||
"eggMoves": "알 기술",
|
||||
"start": "시작",
|
||||
"addToParty": "파티에 추가",
|
||||
"toggleIVs": "개체값 토글",
|
||||
"manageMoves": "기술 관리",
|
||||
"useCandies": "사탕 사용",
|
||||
"selectMoveSwapOut": "교체할 기술을 선택해주세요.",
|
||||
"selectMoveSwapWith": "교체될 기술을 선택해주세요. 대상:",
|
||||
"unlockPassive": "패시브 해금",
|
||||
"reduceCost": "코스트 줄이기",
|
||||
"cycleShiny": "R: 색상 전환",
|
||||
"cycleForm": "F: 폼 체인지",
|
||||
"cycleGender": "G: 암수 전환",
|
||||
"cycleAbility": "E: 특성 전환",
|
||||
"cycleNature": "N: 성격 전환",
|
||||
"cycleVariant": "V: 형태 전환",
|
||||
"enablePassive": "패시브 활성화",
|
||||
"disablePassive": "패시브 비활성화",
|
||||
"locked": "잠김",
|
||||
"disabled": "비활성",
|
||||
"uncaught": "미등록",
|
||||
};
|
||||
260
src/locales/ko/trainers.ts
Normal file
260
src/locales/ko/trainers.ts
Normal file
@ -0,0 +1,260 @@
|
||||
import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||
|
||||
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||
export const titles: SimpleTranslationEntries = {
|
||||
"elite_four": "사천왕",
|
||||
"elite_four_female": "사천왕",
|
||||
"gym_leader": "체육관 관장",
|
||||
"gym_leader_female": "체육관 관장",
|
||||
"gym_leader_double": "체육관 관장 듀오",
|
||||
"champion": "챔피언",
|
||||
"champion_female": "챔피언",
|
||||
"champion_double": "챔피언 듀오",
|
||||
"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 파일이 간호사
|
||||
"fisherman": "낚시꾼",
|
||||
"fisherman_female": "낚시꾼",
|
||||
"gentleman": "신사",
|
||||
"guitarist": "기타리스트",
|
||||
"guitarist_female": "기타리스트",
|
||||
"harlequin": "어릿광대",
|
||||
"hiker": "등산가",
|
||||
"hooligans": "폭주족 & 빡빡이", // 확인 필요
|
||||
"hoopster": "농구선수",
|
||||
"infielder": "야구선수",
|
||||
"janitor": "청소부",
|
||||
"lady": "아기씨",
|
||||
"lass": "짧은 치마",
|
||||
"linebacker": "미식축구선수",
|
||||
"maid": "메이드",
|
||||
"madame": "마담",
|
||||
"medical_team": "의료팀",
|
||||
"musician": "뮤지션",
|
||||
"hex_maniac": "오컬트마니아",
|
||||
"nurse": "간호사",
|
||||
"nursery_aide": "보육사",
|
||||
"officer": "경찰관",
|
||||
"parasol_lady": "파라솔 아가씨",
|
||||
"pilot": "파일럿",
|
||||
"pokéfan": "애호가클럽",
|
||||
"pokéfan_female": "애호가클럽",
|
||||
"pokéfan_family": "애호가부부",
|
||||
"preschooler": "보육원아",
|
||||
"preschooler_female": "보육원아",
|
||||
"preschoolers": "보육원아",
|
||||
"psychic": "초능력자",
|
||||
"psychic_female": "초능력자",
|
||||
"psychics": "초능력자",
|
||||
"pokémon_ranger": "포켓몬 레인저",
|
||||
"pokémon_ranger_female": "포켓몬 레인저",
|
||||
"pokémon_rangers": "포켓몬 레인저",
|
||||
"ranger": "포켓몬 레인저",
|
||||
"restaurant_staff": "요리사", // 혹은 오너로 추정
|
||||
"rich": "신사",
|
||||
"rich_female": "마담",
|
||||
"rich_boy": "도련님",
|
||||
"rich_couple": "신사 & 마담", // 확인 필요
|
||||
"rich_kid": "도련님",
|
||||
"rich_kid_female": "아가씨",
|
||||
"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": "뽀삐",
|
||||
"hassel": "팔자크",
|
||||
"crispin": "하솔",
|
||||
"amarys": "네리네",
|
||||
"lacey": "타로",
|
||||
"drayton": "제빈",
|
||||
"blue": "그린",
|
||||
"red": "레드",
|
||||
"steven": "성호",
|
||||
"wallace": "윤진",
|
||||
"cynthia": "난천",
|
||||
"alder": "노간주",
|
||||
"iris": "아이리스",
|
||||
"diantha": "카르네",
|
||||
"hau": "하우",
|
||||
"geeta": "테사",
|
||||
"nemona": "네모",
|
||||
"kieran": "카지",
|
||||
"leon": "단델",
|
||||
"rival": "핀",
|
||||
"rival_female": "아이비",
|
||||
|
||||
// Double Names
|
||||
"blue_red_double": "그린 & 레드",
|
||||
"red_blue_double": "레드 & 그린",
|
||||
"tate_liza_double": "풍 & 란",
|
||||
"liza_tate_double": "란 & 풍",
|
||||
"steven_wallace_double": "성호 & 윤진",
|
||||
"wallace_steven_double": "윤진 & 성호",
|
||||
"alder_iris_double": "노간주 & 아이리스",
|
||||
"iris_alder_double": "아이리스 & 노간주",
|
||||
"marnie_piers_double": "마리 & 두송",
|
||||
"piers_marnie_double": "두송 & 마리",
|
||||
} as const;
|
||||
42
src/locales/ko/tutorial.ts
Normal file
42
src/locales/ko/tutorial.ts
Normal file
@ -0,0 +1,42 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const tutorial: SimpleTranslationEntries = {
|
||||
intro: `포켓로그에 오신 것을 환영합니다! 로그라이트 요소가 가미된 전투 중심의 포켓몬 팬게임입니다.
|
||||
$이 게임은 수익을 창출하지 않으며 Pokémon 및 사용된 저작권 자산에 대한 소유권을 주장하지 않습니다.
|
||||
$게임은 아직 작업중이지만 완전히 플레이할 수 있습니다.\n버그 신고는 디스코드 커뮤니티를 이용해 주시기 바랍니다.
|
||||
$게임이 느릴 경우 브라우저 설정에서 '하드웨어 가속'이 켜져 있는지 확인해주세요.`,
|
||||
|
||||
accessMenu: "메뉴에 액세스하려면 입력을 기다리는 동안 M 또는 Esc를 누릅니다.\n메뉴에는 설정과 다양한 기능이 포함되어 있습니다.",
|
||||
|
||||
menu: `이 메뉴에서 설정에 액세스할 수 있습니다.
|
||||
$설정에서 게임 속도, 윈도우 스타일 및 기타 옵션을 변경할 수 있습니다.
|
||||
$여기에는 다양한 다른 기능도 있으니 꼭 확인해보세요!`,
|
||||
|
||||
starterSelect: `이 화면에서 스타팅을 선택할 수 있습니다.\n이들은 당신의 첫 번째 파티 멤버들입니다.
|
||||
$최대 6마리의 파티로 시작할 수 있지만\n포켓몬에 따라 코스트가 있어 총합 10을 넘겨선 안 됩니다.
|
||||
$계속 잡거나 부화시켜서\n선택할 수 있는 성별, 특성, 폼 등의 폭을 넓힐 수 있습니다.
|
||||
$개체값도 점점 누적되어 높아지므로,\n같은 포켓몬을 많이 잡아보세요!`,
|
||||
|
||||
pokerus: `매일 랜덤 스타팅 세 종류에 보라색 테두리가 쳐집니다.
|
||||
$등록된 스타팅 중에 있다면,\n파티에 추가해서 능력치 화면을 확인해봅시다!`,
|
||||
|
||||
statChange: `포켓몬은 교체하지 않으면 다음 전투에서도 능력치 변화가 유지됩니다.
|
||||
$대신 트레이너 배틀이나 새로운 바이옴 입장 직전에 자동으로 들여보내지게 됩니다.
|
||||
$C 또는 Shift를 꾹 눌러 현재 포켓몬의 능력치 변화를 볼 수도 있습니다.`,
|
||||
|
||||
selectItem: `전투가 끝날때마다 무작위 아이템 3개 중 하나를 선택하여 얻습니다.
|
||||
$종류는 소모품, 포켓몬의 지닌 도구, 영구적 패시브 아이템에 이르기까지 다양합니다.
|
||||
$대부분의 소모되지 않는 도구는 효과가 누적됩니다.
|
||||
$진화용과 같은 일부분의 아이템은 사용할 수 있는 경우에만 등장합니다.
|
||||
$지닌 도구 건내주기 기능을 사용해 포켓몬끼리 도구를 옮겨 지닐 수도 있습니다.
|
||||
$지닌 도구가 있다면 아이템 선택 화면 오른쪽 하단에 건내주기 기능이 표시됩니다.
|
||||
$돈으로 소모품을 구입할 수도 있으며, 웨이브 진행에 따라 구입 가능한 종류가 늘어납니다.
|
||||
$아이템을 선택하면 다음 웨이브로 넘어가므로, 소모품 구입을 먼저 해 주세요.`,
|
||||
|
||||
eggGacha: `이 화면에서 포켓몬 알 바우처를\n사용해 뽑기를 할 수 있습니다.
|
||||
$알은 전투를 반복하다 보면 부화합니다.\n희귀할 수록 더 오래 걸립니다.
|
||||
$부화시킨 포켓몬은 파티에 추가되지 않고\n스타팅에 등록될 것입니다.
|
||||
$알에서 부화한 포켓몬은 일반적으로\n야생에서 잡은 포켓몬보다 더 높은 개체값을 지닙니다.
|
||||
$일부 포켓몬은 알에서만 얻을 수 있습니다.
|
||||
$각 뽑기 기계가 각각 다른 보너스를 가지고 있으므로,\n원하는 쪽을 사용해보세요!`,
|
||||
} as const;
|
||||
11
src/locales/ko/voucher.ts
Normal file
11
src/locales/ko/voucher.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const voucher: SimpleTranslationEntries = {
|
||||
"vouchers": "바우처",
|
||||
"eggVoucher": "에그 바우처",
|
||||
"eggVoucherPlus": "에그 바우처 플러스",
|
||||
"eggVoucherPremium": "에그 바우처 프리미엄",
|
||||
"eggVoucherGold": "에그 바우처 골드",
|
||||
"locked": "미획득",
|
||||
"defeatTrainer" : "{{trainerName}}에게 승리",
|
||||
} as const;
|
||||
45
src/locales/ko/weather.ts
Normal file
45
src/locales/ko/weather.ts
Normal file
@ -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": "수수께끼의 난기류가 멈췄다!" // 임의번역
|
||||
};
|
||||
@ -9,6 +9,7 @@ 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 { zhTWConfig } from "#app/locales/zh_TW/config.js";
|
||||
import { koConfig } from "#app/locales/ko/config.js";
|
||||
|
||||
export interface SimpleTranslationEntries {
|
||||
[key: string]: string
|
||||
@ -77,6 +78,30 @@ export interface Localizable {
|
||||
localize(): void;
|
||||
}
|
||||
|
||||
const alternativeFonts = {
|
||||
"ko": [
|
||||
new FontFace("emerald", "url(./fonts/PokePT_Wansung.ttf)")
|
||||
],
|
||||
};
|
||||
|
||||
function loadFont(language: string) {
|
||||
const altFontLanguages = Object.keys(alternativeFonts);
|
||||
if (!alternativeFonts[language]) {
|
||||
language = language.split(/[-_/]/)[0];
|
||||
}
|
||||
if (alternativeFonts[language]) {
|
||||
alternativeFonts[language].forEach(f => {
|
||||
document.fonts.add(f);
|
||||
});
|
||||
altFontLanguages.splice(altFontLanguages.indexOf(language), 0);
|
||||
}
|
||||
altFontLanguages.forEach(f=> {
|
||||
if (f && f.status === "loaded") {
|
||||
document.fonts.delete(f);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function initI18n(): void {
|
||||
// Prevent reinitialization
|
||||
if (isInitialized) {
|
||||
@ -89,7 +114,10 @@ export function initI18n(): void {
|
||||
lang = localStorage.getItem("prLang");
|
||||
}
|
||||
|
||||
|
||||
loadFont(lang);
|
||||
i18next.on("languageChanged", lng=> {
|
||||
loadFont(lng);
|
||||
});
|
||||
|
||||
/**
|
||||
* i18next is a localization library for maintaining and using translation resources.
|
||||
@ -111,7 +139,7 @@ export function initI18n(): void {
|
||||
lng: lang,
|
||||
nonExplicitSupportedLngs: true,
|
||||
fallbackLng: "en",
|
||||
supportedLngs: ["en", "es", "fr", "it", "de", "zh", "pt"],
|
||||
supportedLngs: ["en", "es", "fr", "it", "de", "zh", "pt", "ko"],
|
||||
debug: true,
|
||||
interpolation: {
|
||||
escapeValue: false,
|
||||
@ -140,7 +168,10 @@ export function initI18n(): void {
|
||||
},
|
||||
zh_TW: {
|
||||
...zhTWConfig
|
||||
}
|
||||
},
|
||||
ko: {
|
||||
...koConfig
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@ -260,6 +260,10 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer)
|
||||
label: "繁體中文",
|
||||
handler: () => changeLocaleHandler("zh_TW")
|
||||
},
|
||||
{
|
||||
label: "한국어",
|
||||
handler: () => changeLocaleHandler("ko")
|
||||
},
|
||||
{
|
||||
label: "Cancel",
|
||||
handler: () => cancelHandler()
|
||||
|
||||
@ -81,6 +81,10 @@ const languageSettings: { [key: string]: LanguageSetting } = {
|
||||
instructionTextSize: "42px",
|
||||
starterInfoXPos: 33,
|
||||
},
|
||||
"ko":{
|
||||
starterInfoTextSize: "52px",
|
||||
instructionTextSize: "38px",
|
||||
}
|
||||
};
|
||||
|
||||
const starterCandyCosts: { passive: integer, costReduction: [integer, integer] }[] = [
|
||||
|
||||
Loading…
Reference in New Issue
Block a user