diff --git a/assets/jsons/translations/de.json b/assets/jsons/translations/de.json
index f581d489..c8cda9ea 100644
--- a/assets/jsons/translations/de.json
+++ b/assets/jsons/translations/de.json
@@ -180,6 +180,7 @@
"zh-CN": "简体中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "Englisch, Vereinigtes Königreich",
"en-US": "Englisch, USA",
@@ -189,7 +190,8 @@
"ru-RU": "Russisch",
"zh-CN": "Vereinfachtes Chinesisch",
"zh-TW": "Traditionelles Chinesisch",
- "ja-JP": "Japanisch"
+ "ja-JP": "Japanisch",
+ "ko-KR": "Koreanisch"
}
}
},
diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json
index 1bd2f7b3..40d3218f 100644
--- a/assets/jsons/translations/en.json
+++ b/assets/jsons/translations/en.json
@@ -185,6 +185,7 @@
"zh-CN": "简体中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "English, United Kingdom",
"en-US": "English, USA",
@@ -194,7 +195,8 @@
"ru-RU": "Russian",
"zh-CN": "Chinese (Simplified)",
"zh-TW": "Chinese (Traditional)",
- "ja-JP": "Japanese"
+ "ja-JP": "Japanese",
+ "ko-KR": "Korean"
}
}
},
@@ -223,7 +225,7 @@
}
},
"changelogs": {
- "open" : "🚀 Check Out the Changelog!",
+ "open": "🚀 Check Out the Changelog!",
"not-founds": "😕 Oops, No Changelog Here!"
},
"advanced": {
@@ -570,7 +572,7 @@
"EPERM": "BSManager does not have the necessary permissions to link the folder.",
"EACCES": "BSManager does not have the necessary permissions to link the folder.",
"ENOSPC": "The disk is full, make some space and try again.",
- "UNKNOWN_ERROR":"An unknown error has occurred while linking the folder."
+ "UNKNOWN_ERROR": "An unknown error has occurred while linking the folder."
}
}
},
@@ -834,7 +836,7 @@
"maps": {
"map-filter-panel": {
"duration": "Duration",
- "nps" : "Notes Per Second",
+ "nps": "Notes Per Second",
"njs": "Note Jump Speed",
"tags": "tags",
"specificities": "general",
@@ -909,11 +911,11 @@
"by": "By {songAutor}",
"mapped-by": "mapped by",
"delete": "Delete",
- "preview" : "Preview map",
- "bsr-code" : "BSR code",
- "download" : "Download map",
- "downloading" :"Downloading map",
- "cancel-download" : "Cancel download",
+ "preview": "Preview map",
+ "bsr-code": "BSR code",
+ "download": "Download map",
+ "downloading": "Downloading map",
+ "cancel-download": "Cancel download",
"hightlight-difficulty": "Highlight difficulty"
}
},
@@ -1240,8 +1242,57 @@
}
},
"dateformat": {
- "dayNames": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- "monthNames": ["Jan", "Feb", "Mar", "Apr", "May", "June", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
- "timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"]
+ "dayNames": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat",
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "monthNames": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "June",
+ "Jul",
+ "Aug",
+ "Sept",
+ "Oct",
+ "Nov",
+ "Dec",
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "timeNames": [
+ "a",
+ "p",
+ "am",
+ "pm",
+ "A",
+ "P",
+ "AM",
+ "PM"
+ ]
}
}
diff --git a/assets/jsons/translations/es.json b/assets/jsons/translations/es.json
index bd8b16af..b068189d 100644
--- a/assets/jsons/translations/es.json
+++ b/assets/jsons/translations/es.json
@@ -180,6 +180,7 @@
"zh-CN": "简体中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "Inglés, Reino Unido",
"en-US": "Inglés, Estados Unidos",
@@ -189,7 +190,8 @@
"ru-RU": "Ruso",
"zh-CN": "Chino simplificado",
"zh-TW": "Chino tradicional",
- "ja-JP": "Japonés"
+ "ja-JP": "Japonés",
+ "ko-KR": "Coreano"
}
}
},
@@ -218,7 +220,7 @@
}
},
"changelogs": {
- "open" : "🚀 ¡Descubre lo nuevo en el Changelog!",
+ "open": "🚀 ¡Descubre lo nuevo en el Changelog!",
"not-founds": "😕 Uy, ¡Changelog no encontrado!"
},
"advanced": {
@@ -827,7 +829,7 @@
"maps": {
"map-filter-panel": {
"duration": "Duración",
- "nps" : "Notas Por Segundo",
+ "nps": "Notas Por Segundo",
"njs": "Velocidad de salto de nota",
"tags": "tags",
"specificities": "general",
@@ -902,11 +904,11 @@
"by": "Por {songAutor}",
"mapped-by": "mapeado por",
"delete": "Borrar",
- "preview" : "Vista previa del mapa",
- "bsr-code" : "Código BSR",
- "download" : "Descargar mapa",
- "downloading" :"Descargando mapa",
- "cancel-download" : "Cancelar descarga",
+ "preview": "Vista previa del mapa",
+ "bsr-code": "Código BSR",
+ "download": "Descargar mapa",
+ "downloading": "Descargando mapa",
+ "cancel-download": "Cancelar descarga",
"hightlight-difficulty": "Resaltar la dificultad"
}
},
@@ -1233,8 +1235,57 @@
}
},
"dateformat": {
- "dayNames": ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
- "monthNames": ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
- "timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"]
+ "dayNames": [
+ "Dom",
+ "Lun",
+ "Mar",
+ "Mié",
+ "Jue",
+ "Vie",
+ "Sáb",
+ "Domingo",
+ "Lunes",
+ "Martes",
+ "Miércoles",
+ "Jueves",
+ "Viernes",
+ "Sábado"
+ ],
+ "monthNames": [
+ "Ene",
+ "Feb",
+ "Mar",
+ "Abr",
+ "May",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dic",
+ "Enero",
+ "Febrero",
+ "Marzo",
+ "Abril",
+ "Mayo",
+ "Junio",
+ "Julio",
+ "Agosto",
+ "Septiembre",
+ "Octubre",
+ "Noviembre",
+ "Diciembre"
+ ],
+ "timeNames": [
+ "a",
+ "p",
+ "am",
+ "pm",
+ "A",
+ "P",
+ "AM",
+ "PM"
+ ]
}
}
diff --git a/assets/jsons/translations/fr.json b/assets/jsons/translations/fr.json
index e6401cf0..f926eae7 100644
--- a/assets/jsons/translations/fr.json
+++ b/assets/jsons/translations/fr.json
@@ -180,6 +180,7 @@
"zh-CN": "简体中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "Anglais, Royaume-Uni",
"en-US": "Anglais, États-Unis",
@@ -189,7 +190,8 @@
"ru-RU": "Russe",
"zh-CN": "Chinois simplifié",
"zh-TW": "Chinois traditionnel",
- "ja-JP": "Japonais"
+ "ja-JP": "Japonais",
+ "ko-KR": "Coréen"
}
}
},
diff --git a/assets/jsons/translations/ja.json b/assets/jsons/translations/ja.json
index b6580a18..d77e9af3 100644
--- a/assets/jsons/translations/ja.json
+++ b/assets/jsons/translations/ja.json
@@ -180,6 +180,7 @@
"zh-CN": "简体中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "イギリス英語",
"en-US": "アメリカ英語",
@@ -189,7 +190,8 @@
"ru-RU": "ロシア語",
"zh-CN": "簡体字中国",
"zh-TW": "繁体字中国",
- "ja-JP": "日本語"
+ "ja-JP": "日本語",
+ "ko-KR": "韓国語"
}
}
},
diff --git a/assets/jsons/translations/ko.json b/assets/jsons/translations/ko.json
new file mode 100644
index 00000000..f9f1e22a
--- /dev/null
+++ b/assets/jsons/translations/ko.json
@@ -0,0 +1,1291 @@
+{
+ "misc": {
+ "download": "다운로드",
+ "add": "추가",
+ "verify": "인증됨",
+ "launch": "실행",
+ "mods": "모드",
+ "maps": "맵",
+ "playlists": "재생 목록",
+ "models": "모델",
+ "cancel": "취소",
+ "delete": "삭제",
+ "accept": "동의",
+ "refuse": "거부",
+ "apply": "적용",
+ "copy": "복사",
+ "copied": "복사 완료!",
+ "confirm": "확인"
+ },
+ "nav-bar": {
+ "add-version": "버전 추가",
+ "settings": "설정",
+ "shared": {
+ "text": "공유",
+ "tooltip": "공유 콘텐츠"
+ }
+ },
+ "pages": {
+ "version-viewer": {
+ "launch-mods": {
+ "oculus": "Oculus 모드",
+ "oculus-description": "Steam을 통해 Beat Saber를 사용하는 경우, SteamVR을 우회하여 Oculus VR 컴포저를 사용할 수 있어 성능이 향상될 수 있습니다. 이는 Oculus 헤드셋을 사용하는 데 필수는 아닙니다.",
+ "desktop": "FPFC 모드",
+ "desktop-description": "FPFC 모드에서는 WASD와 마우스로 게임 내 메뉴를 조작할 수 있어 테스트가 더 쉬워집니다. 헤드셋을 착용할 필요가 없습니다!",
+ "debug": "디버그 모드",
+ "debug-description": "IPA 출력 로그 창을 활성화하여 MOD의 디버그 콘솔을 표시합니다.",
+ "advanced-launch": {
+ "button": "고급 실행",
+ "placeholder": "추가 인수 예: --revert; --nowait"
+ }
+ },
+ "maps": {
+ "search-bar": {
+ "search-placeholder": "맵 검색",
+ "filters-btn": "필터",
+ "dropdown": {
+ "export-maps": "맵 내보내기",
+ "delete-maps": "맵 삭제",
+ "delete-duplicate-maps": "중복 삭제"
+ }
+ },
+ "tabs": {
+ "maps": {
+ "actions": {
+ "drop-down": {
+ "browse-maps": "맵 보기",
+ "import-maps": "맵 가져오기"
+ },
+ "link-maps": {
+ "tooltips": {
+ "link": "맵 링크",
+ "unlink": "맵 링크 해제"
+ }
+ }
+ },
+ "empty-maps": {
+ "text": "맵이 없습니다",
+ "button": "맵 다운로드"
+ },
+ "drop-zone": {
+ "text": "맵 가져오기",
+ "subtext": "ZIP 파일을 여기에 드롭하여 맵 가져오기"
+ }
+ },
+ "playlists": {
+ "drop-down": {
+ "browse-playlists": "재생 목록 보기",
+ "create-a-playlist": "재생 목록 만들기",
+ "import-playlists": "재생 목록 가져오기"
+ },
+ "drop-zone": {
+ "text": "재생 목록 가져오기",
+ "subtext": "\".bplist\" 또는 \".json\" 파일을 여기에 드롭하여 가져오기"
+ }
+ }
+ }
+ },
+ "mods": {
+ "loading-mods": "모드를 불러오는 중...",
+ "no-internet": "인터넷 연결이 없습니다!",
+ "mods-not-available": "이 버전에서 사용할 수 있는 모드가 아직 없습니다.",
+ "buttons": {
+ "more-infos": "자세히 보기",
+ "install-or-update": "설치 및 업데이트",
+ "reinstall-all": "모두 재설치"
+ },
+ "mods-grid": {
+ "header-bar": {
+ "name": "이름",
+ "installed": "설치됨",
+ "latest": "최신",
+ "description": "설명",
+ "dropdown": {
+ "uninstall-all": "모두 제거"
+ }
+ }
+ },
+ "notifications": {
+ "all-mods-already-installed": {
+ "title": "이미 설치된 모드",
+ "description": "선택한 모든 모드가 이미 설치되었습니다."
+ }
+ }
+ },
+ "dropdown": {
+ "open-folder": "폴더 열기",
+ "verify-files": "파일 확인",
+ "clone": "복제",
+ "edit": "편집",
+ "uninstall": "제거",
+ "create-shortcut": "바로 가기 만들기",
+ "shared-folders": "공유 폴더"
+ }
+ },
+ "available-versions": {
+ "title": "버전 선택",
+ "steam-release": "릴리스 페이지",
+ "dropdown": {
+ "refresh": "버전 새로고침",
+ "import-version": "버전 가져오기"
+ },
+ "recommended": "추천",
+ "recommended-tooltip": "모드가 가장 많은 버전"
+ },
+ "settings": {
+ "steam-and-oculus": {
+ "title": "Steam 및 Oculus",
+ "description": "로그아웃하면 다음 Beat Saber 다운로드 시 계정을 전환할 수 있습니다.",
+ "logout": "로그아웃",
+ "logout-success": "로그아웃 성공",
+ "download-platform": {
+ "title": "기본 플랫폼",
+ "desc": "Beat Saber 다운로드에 사용할 기본 플랫폼을 선택하세요.",
+ "always-ask": "항상 묻기"
+ }
+ },
+ "appearance": {
+ "title": "외관",
+ "description": "BSManager의 주요 두 가지 색상을 선택하세요.",
+ "reset": "초기화",
+ "sub-title": "테마",
+ "themes": {
+ "dark": "다크",
+ "light": "라이트",
+ "os": "컴퓨터와 동기화"
+ }
+ },
+ "installation-folder": {
+ "title": "설치 폴더",
+ "description": "BSManager가 다운로드한 모든 콘텐츠를 포함할 폴더를 변경합니다.",
+ "choose-folder": "폴더 선택"
+ },
+ "additional-content": {
+ "title": "추가 콘텐츠",
+ "description": "Beat Saber를 커스터마이징할 수 있는 추가 콘텐츠!",
+ "deep-links": {
+ "sub-title": "OneClick 설치"
+ }
+ },
+ "language": {
+ "title": "언어",
+ "description": "언어를 선택",
+ "languages": {
+ "en-EN": "English, UK",
+ "en-US": "English, US",
+ "fr-FR": "Français",
+ "es-ES": "Español",
+ "de-DE": "Deutsch",
+ "ru-RU": "Русский",
+ "zh-CN": "简体中文",
+ "zh-TW": "正體中文",
+ "ja-JP": "日本語",
+ "ko-KR": "한국어",
+ "translated": {
+ "en-EN": "영어(영국)",
+ "en-US": "영어(미국)",
+ "fr-FR": "프랑스어",
+ "es-ES": "스페인어",
+ "de-DE": "독일어",
+ "ru-RU": "러시아어",
+ "zh-CN": "중국어 (간체)",
+ "zh-TW": "중국어 (번체)",
+ "ja-JP": "일본어",
+ "ko-KR": "한국어"
+ }
+ }
+ },
+ "patreon": {
+ "title": "BSManager를 지원하기 💖",
+ "description": "프로젝트를 지원하고 BSManager의 지속적인 응원을 부탁드립니다!",
+ "buttons": {
+ "support": "BSManager 지원 🥰",
+ "supporters": "후원자 여러분 👀"
+ },
+ "view": {
+ "no-supporters": "아직 후원자가 없습니다...",
+ "sponsors": "스폰서",
+ "supporters": "후원자 여러분"
+ }
+ },
+ "discord": {
+ "description": "BSManager 커뮤니티 소셜 미디어에 참여하세요"
+ },
+ "contribution": {
+ "description": "BSManager를 개선하기 위해 새로운 기능을 제안하거나 버그를 보고해 주세요!",
+ "buttons": {
+ "request-features": "새 기능 제안",
+ "report-bug": "버그 신고",
+ "open-logs": "로그 보기"
+ }
+ },
+ "changelogs": {
+ "open": "🚀 변경 로그를 확인해보세요!",
+ "not-founds": "😕 변경 로그가 보이지 않습니다!"
+ },
+ "advanced": {
+ "title": "고급 설정",
+ "description": "BSManager의 고급 설정입니다.",
+ "hardware-acceleration": {
+ "title": "하드웨어 가속",
+ "description": "하드웨어 가속을 활성화하여 GPU를 사용해 BSManager의 성능을 향상시킵니다. 프레임 드롭이 발생하는 경우 이 설정을 끄세요.",
+ "modal": {
+ "title": "재시작 필요",
+ "body": "하드웨어 가속 설정을 변경하면 BSManager가 종료 후 재시작됩니다. 계속하시겠습니까?",
+ "confirm-btn": "네, 맞습니다"
+ },
+ "error-notification": {
+ "message": "오류가 발생했습니다. 하드웨어 가속을 비활성화할 수 없습니다."
+ }
+ },
+ "use-symlinks": {
+ "title": "심볼릭 링크 사용",
+ "description": "폴더를 연결할 때 정션 대신 심볼릭 링크를 사용합니다. 필요할 때만 이 옵션을 활성화하세요.",
+ "modal": {
+ "title": "심볼릭 링크 권한",
+ "body": "심볼릭 링크를 생성하려면 BSManager는 관리자 권한 또는 시스템에 활성화된 개발자 모드를 필요로 합니다. 계속하시겠습니까?",
+ "confirm-btn": "네, 맞습니다"
+ },
+ "error-notification": {
+ "message": "오류가 발생했습니다. 심볼릭 링크 설정을 변경할 수 없습니다."
+ }
+ }
+ }
+ }
+ },
+ "notifications": {
+ "types": {
+ "error": "🚨 오류",
+ "warning": "⚠️ 경고",
+ "success": "🎉 성공"
+ },
+ "common": {
+ "msg": {
+ "error-occurred": "오류가 발생했습니다"
+ }
+ },
+ "shared": {
+ "errors": {
+ "titles": {
+ "operation-running": "작업 진행 중",
+ "no-internet": "인터넷 연결이 없습니다",
+ "file-not-supported": "파일이 지원되지 않습니다"
+ },
+ "msg": {
+ "operation-running": "현재 작업이 완료될 때까지 기다렸다가 다시 시도하세요.",
+ "no-internet": "인터넷 연결을 확인하고 다시 시도하세요.",
+ "file-not-supported": "{types} 파일만 지원됩니다."
+ }
+ }
+ },
+ "bs-download": {
+ "success": {
+ "titles": {
+ "download-success": "다운로드 완료",
+ "verification-finished": "검증 완료"
+ }
+ },
+ "steam-download": {
+ "warnings": {
+ "msg": {
+ "ManifestChecksum": "이전에 다운로드한 매니페스트와 새로운 매니페스트가 일치하지 않는 것 같습니다 🤔",
+ "ConnectionTimeout": "인터넷 연결이 불안정한 것 같습니다 🥶",
+ "ConnectionLost": "연결이 끊어졌습니다. 다시 시도하세요...",
+ "ConnectionError": "Steam에 연결할 수 없습니다. 다시 시도하세요...",
+ "Unknown": "무언가 이상한 일이 일어난 것 같습니다 🤔 아마도 연결이 불안정할 것입니다."
+ }
+ },
+ "errors": {
+ "msg": {
+ "401": "Steam이 Beat Saber 다운로드를 허용하지 않는 것 같습니다 😢",
+ "404": "Steam 서버에 연결할 수 없습니다.",
+ "Password": "비밀번호가 올바르지 않습니다.",
+ "InvalidCredentials": "유효하지 않은 로그인 자격 증명, 허가되지 않은 연결 또는 너무 많은 로그인 시도입니다.",
+ "NoManifest": "매니페스트를 찾을 수 없습니다",
+ "DirectoryCreate": "필요한 폴더를 설치할 수 없습니다.",
+ "NotAvailableApp": "Beat Saber를 소유하지 않으셨는데 다운로드하려고 하시나요 🤣",
+ "DepotNotFound": "Beat Saber를 다운로드할 수 없습니다 😥 다시 시도하세요 😕",
+ "NotCompleted": "다운로드할 수 없습니다. (´・ω・`)",
+ "InvalidManifest": "Beat Saber를 다운로드할 수 없습니다 😥 다시 시도하세요 😕",
+ "NoValidKey": "Beat Saber를 다운로드할 수 없습니다 😥 다시 시도하세요 😕",
+ "NoManifestCode": "Beat Saber를 다운로드할 수 없습니다 😥 다시 시도하세요 😕",
+ "Unknown": "알 수 없는 오류가 발생했습니다 (´・ω・`)",
+ "NoServer": "Steam 서버에 연결할 수 없습니다.",
+ "NotAllowed": "Beat Saber 다운로드가 허용되지 않는 것 같습니다 🥱",
+ "ConnectionTimeout": "Steam에 연결할 수 없습니다 😕",
+ "SteamLib": "이 오류가 발생하면 GitHub에 로그를 포함해 버그를 보고하세요.",
+ "ConnectionError": "10번 시도해도 Steam에 연결할 수 없습니다 🤯",
+ "LicenceError": "라이센스 목록을 가져올 수 없습니다.",
+ "RateLimitExceeded": "너무 많이 시도하셨습니다. 잠시 후에 다시 시도하세요.",
+ "TokenRejected": "로그인 토큰이 거부되었습니다 😕 다시 시도하세요.",
+ "AccessDenied": "Steam 접근이 거부되었습니다."
+ }
+ }
+ },
+ "oculus-download": {
+ "errors": {
+ "msg": {
+ "DOWNLOAD_MANIFEST_FAILED": "이 버전의 매니페스트를 다운로드할 수 없습니다. 로그인 토큰이 무효일 수 있습니다.",
+ "MANIFEST_FILE_NOT_FOUND": "이 버전의 매니페스트를 찾을 수 없습니다.",
+ "PARSE_MANIFEST_FILE_FAILED": "매니페스트를 읽는 중 오류가 발생했습니다.",
+ "ALREADY_DOWNLOADING": "버전이 이미 다운로드 중입니다.",
+ "UNABLE_TO_GET_MANIFEST": "다운로드에 필요한 매니페스트를 가져올 수 없습니다.",
+ "VERIFY_INTEGRITY_FAILED": "파일 검증 중 오류가 발생했습니다.",
+ "SOME_FILES_FAILED_TO_DOWNLOAD": "일부 파일을 다운로드하지 못했습니다.",
+ "OCULUS_LOGIN_TIMED_OUT": "로그인 토큰을 얻는 데 시간이 너무 오래 걸렸습니다.",
+ "OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "메타 로그인 창이 닫혔습니다.",
+ "NO_META_AUTH_TOKEN": "다운로드에 필요한 Meta 로그인 토큰을 얻을 수 없습니다.",
+ "UNKNOWN_ERROR": "알 수 없는 오류가 발생했습니다."
+ }
+ }
+ }
+ },
+ "bs-import-version": {
+ "success": {
+ "start-import": {
+ "title": "가져오는 중 👌",
+ "desc": "설정에 따라 가져오기에 몇 분이 걸릴 수 있습니다."
+ },
+ "imported": {
+ "title": "가져오기 완료 🎉"
+ }
+ },
+ "errors": {
+ "import-error": {
+ "desc": "선택한 폴더가 Beat Saber의 설치 폴더인지 확인하세요."
+ }
+ }
+ },
+ "settings": {
+ "move-folder": {
+ "success": {
+ "titles": {
+ "transfer-started": "전송 시작",
+ "transfer-finished": "전송 완료"
+ },
+ "descs": {
+ "transfer-started": "전송을 시작했습니다. 설정에 따라 몇 분이 걸릴 수 있습니다."
+ }
+ },
+ "errors": {
+ "titles": {
+ "transfer-failed": "전송 실패 😕"
+ },
+ "descs": {
+ "COPY_TO_SUBPATH": "복사 대상 폴더는 복사 원본 폴더의 하위 폴더로 설정할 수 없습니다.",
+ "restore-linked-folders": "공유 폴더 복원 중 오류가 발생했습니다. 버전 페이지의 '공유 폴더' 메뉴에서 수동으로 복원할 수 있습니다."
+ }
+ }
+ },
+ "steam": {
+ "success": {
+ "titles": {
+ "logout": "Steam에서 로그아웃되었습니다."
+ }
+ }
+ },
+ "additional-content": {
+ "deep-link": {
+ "select-all": "모두 선택",
+ "activation": {
+ "success": {
+ "title": "OneClick이 활성화되었습니다!",
+ "description": "OneClick을 통해 설치가 활성화되었습니다."
+ },
+ "error": {
+ "description": "OneClick 설치를 활성화할 수 없습니다."
+ }
+ },
+ "deactivation": {
+ "success": {
+ "title": "OneClick이 비활성화되었습니다!",
+ "description": "OneClick 설치가 비활성화됩니다."
+ },
+ "error": {
+ "description": "알 수 없는 오류가 발생했습니다."
+ }
+ },
+ "check-all-enabled": {
+ "title": "OneClick이 비활성화됨",
+ "description": "하나 이상의 OneClick 설치가 비활성화되어 있습니다. 설정에서 활성화해 주세요.",
+ "actions": {
+ "settings": "설정으로 이동",
+ "not-remind": "다시 알리지 않기"
+ }
+ }
+ }
+ }
+ },
+ "bs-launch": {
+ "success": {
+ "titles": {
+ "BS_LAUNCHING": "실행 중...🚀",
+ "STEAM_LAUNCHING": "Steam 실행 확인 완료!"
+ },
+ "msg": {
+ "BS_LAUNCHING": "워밍업을 잊지 마세요 😉",
+ "STEAM_LAUNCHING": "Beat Saber는 Steam 실행 후 자동으로 시작됩니다."
+ }
+ },
+ "errors": {
+ "titles": {
+ "UNKNOWN_ERROR": "실행 불가",
+ "STEAM_NOT_RUNNING": "Steam이 실행 중이 아님",
+ "OCULUS_NOT_RUNNING": "Oculus가 실행 중이 아님",
+ "BS_ALREADY_RUNNING": "Beat Saber가 이미 실행 중임",
+ "EXE_NOT_FINDED": "파일을 찾을 수 없음",
+ "EXIT": "긴급 중지",
+ "OCULUS_LIB_NOT_FOUND": "Oculus 라이브러리를 찾을 수 없음"
+ },
+ "msg": {
+ "UNKNOWN_ERROR": "알 수 없는 오류가 발생했습니다.",
+ "STEAM_NOT_RUNNING": "Beat Saber를 실행하려면 Steam이 실행 중이어야 합니다.",
+ "OCULUS_NOT_RUNNING": "Beat Saber를 실행하려면 Oculus가 실행 중이어야 합니다.",
+ "BS_ALREADY_RUNNING": "다시 실행하기 전에 Beat Saber를 닫아주세요.",
+ "EXE_NOT_FINDED": "몇 가지 파일을 찾을 수 없는 것 같습니다.",
+ "EXIT": "Beat Saber가 긴급 중지되었습니다. 파일을 점검합니다.",
+ "OCULUS_LIB_NOT_FOUND": "Oculus 앱이 올바르게 설치되었는지와 Oculus 라이브러리가 올바르게 정의되었는지 확인하세요."
+ },
+ "actions": {
+ "STEAM_NOT_RUNNING": "Steam 실행"
+ }
+ }
+ },
+ "steam": {
+ "steam-launching": {
+ "title": "Steam 실행!",
+ "description": "Beat Saber는 Steam 실행 후 자동으로 시작됩니다."
+ }
+ },
+ "custom-version": {
+ "errors": {
+ "titles": {
+ "CantEditSteam": "편집 불가",
+ "CantRename": "이름 변경 불가",
+ "VersionAlreadExist": "이 버전은 이미 존재합니다!",
+ "CantClone": "클론 생성 불가",
+ "UnknownError": "알 수 없는 오류가 발생했습니다"
+ },
+ "msg": {
+ "CantEditSteam": "Steam 버전은 편집할 수 없지만 클론을 생성할 수 있습니다."
+ }
+ },
+ "success": {
+ "titles": {
+ "CloningFinished": "클론 생성 완료 🎉"
+ }
+ }
+ },
+ "mods": {
+ "install-mods": {
+ "titles": {
+ "success": "Mod 설치 완료 🎉",
+ "warning": "Mod 설치 완료 🤔"
+ },
+ "msg": {
+ "success": "모든 MOD가 설치되었습니다.",
+ "warning": "하나 이상의 MOD를 설치하지 못했습니다.",
+ "errors": {
+ "no-mods": "설치할 MOD가 없습니다.",
+ "cannot-install-bsipa": "BSIPA를 설치할 수 없습니다 😨"
+ }
+ }
+ },
+ "uninstall-mod": {
+ "titles": {
+ "success": "Mod 제거 완료 🎉"
+ },
+ "msg": {
+ "errors": {
+ "no-mods": "설치된 Mod가 없습니다 😑"
+ }
+ }
+ },
+ "uninstall-all-mods": {
+ "titles": {
+ "success": "Mod 제거 완료 🎉"
+ },
+ "msg": {
+ "success": "모든 Mod가 제거되었습니다.",
+ "errors": {
+ "no-mods": "이 버전에 설치된 Mod가 없습니다 😑"
+ }
+ }
+ }
+ },
+ "maps": {
+ "one-click-install": {
+ "success": "맵 설치 완료",
+ "error": "맵 설치 중 오류가 발생했습니다"
+ },
+ "no-duplicates-maps": {
+ "title": "중복 없음",
+ "msg": "맵이 삭제되지 않았습니다"
+ },
+ "duplicates-maps-deleted": {
+ "title": "중복 삭제",
+ "msg": "중복이 삭제되었습니다"
+ },
+ "import-map": {
+ "titles": {
+ "success": "맵 가져오기 완료",
+ "error": "맵 가져오기 중 오류가 발생했습니다"
+ },
+ "msgs": {
+ "success": "맵이 정상적으로 가져왔습니다.",
+ "some-success": "일부 맵이 정상적으로 가져왔습니다.",
+ "only-accept-zip": "zip 파일만 지원됩니다.",
+ "invalid-zip": "zip 파일에 맵이 포함되어 있지 않습니다.",
+ "unknown": "알 수 없는 오류가 발생했습니다."
+ }
+ }
+ },
+ "playlists": {
+ "one-click-install": {
+ "success": "플레이리스트 설치 완료",
+ "error": "플레이리스트 설치 중 오류가 발생했습니다."
+ }
+ },
+ "models": {
+ "one-click-install": {
+ "success": "모델 설치 완료",
+ "error": "모델 설치 중 오류가 발생했습니다."
+ }
+ },
+ "shared-folder": {
+ "info": {
+ "userdata-backup-created": {
+ "title": "백업을 생성했습니다",
+ "msg": "'UserData' 폴더를 공유하면 오류가 발생할 수 있습니다. 문제가 발생하면 폴더의 링크를 해제하고 백업을 복원하세요."
+ }
+ },
+ "linking-error": {
+ "title": "폴더 연결 중 오류가 발생했습니다",
+ "msg": {
+ "EPERM": "BSManager에 폴더를 연결하기 위한 권한이 부족합니다.",
+ "EACCES": "BSManager에 폴더를 연결하기 위한 권한이 부족합니다.",
+ "ENOSPC": "디스크가 가득 찼습니다. 공간을 확보하고 다시 시도하세요.",
+ "UNKNOWN_ERROR": "폴더를 연결하는 중 알 수 없는 오류가 발생했습니다."
+ }
+ }
+ },
+ "create-launch-shortcut": {
+ "success": {
+ "title": "바로 가기 생성 완료",
+ "msg": "바탕 화면에 바로 가기가 생성되었습니다."
+ },
+ "error": {
+ "msg": "바로 가기 생성 중 오류가 발생했습니다."
+ }
+ }
+ },
+ "modals": {
+ "misc": {
+ "remember-my-choice": "이 선택을 기억하기"
+ },
+ "choose-store": {
+ "title": "어떤 플랫폼을 선택하시겠습니까?",
+ "body": "Beat Saber를 다운로드할 플랫폼을 선택하세요.",
+ "set-in-settings": "설정에서 기본 플랫폼을 선택할 수 있습니다."
+ },
+ "guard": {
+ "title": "Steam 가드",
+ "inputs": {
+ "guard-code": {
+ "label": "가드 코드",
+ "placeholder": "가드 코드를 입력하세요"
+ }
+ },
+ "buttons": {
+ "submit": "로그인"
+ }
+ },
+ "steam-login": {
+ "title": "Steam에 로그인",
+ "inputs": {
+ "username": {
+ "label": "계정명으로 로그인",
+ "placeholder": "계정명을 입력하세요"
+ },
+ "password": {
+ "label": "비밀번호",
+ "placeholder": "비밀번호를 입력하세요",
+ "max-length-warning": "비밀번호가 64자를 초과합니다! 첫 64자만 입력해 보세요."
+ },
+ "qr": {
+ "label": "또는 QR 코드 사용",
+ "note": {
+ "use-the": "",
+ "steam-mobile-app": "Steam 모바일 앱",
+ "to-connect-with-qr": "을 사용해 QR 코드로 로그인하세요."
+ }
+ },
+ "stay": "기억하기"
+ },
+ "why-credentials": "왜 계정 정보가 필요한가요?",
+ "need-help-to-connect": "계정에 액세스하는 방법을 알려주세요!",
+ "buttons": {
+ "submit": "로그인"
+ }
+ },
+ "steam-auth-approve": {
+ "title": "승인 대기 중",
+ "protected-by-mobile-auth": "모바일 인증으로 보호된 계정입니다.",
+ "use-steam-app-to-approve": "Steam 모바일 앱을 사용하여 연결을 승인하세요...",
+ "not-access-to-steam-app": "Steam 모바일 앱에 접근할 수 없습니다."
+ },
+ "steam-credentials": {
+ "title": "Steam 계정 정보",
+ "p-1": "Steam은 다운로드를 허용하기 위해 게임을 구입했는지 확인할 필요가 있기 때문입니다. 계정 정보는 저장되지 않으며 DepotDownloader에 직접 전달됩니다. 계정 정보를 입력하지 않으려면 이 튜토리얼을 따르세요:",
+ "p-2": "오른쪽 상단의 톱니바퀴 아이콘을 클릭하고, \"버전 가져오기\"를 선택하여 Beat Saber가 설치된 폴더를 선택하세요."
+ },
+ "bs-import-version": {
+ "title": "버전 가져오기",
+ "description": "BSManager에서 사용할 Beat Saber 버전을 가져옵니다. 선택한 Beat Saber 설치 폴더를 BSManager versions 폴더로 복사합니다.",
+ "oculus-version": "Oculus 버전",
+ "oculus-version-tooltip": "Oculus 버전인지 확인",
+ "buttons": {
+ "submit": "버전 가져오기"
+ }
+ },
+ "bs-uninstall": {
+ "title": "제거",
+ "description": "정말로 {version} 버전의 Beat Saber를 제거하시겠습니까? 플레이하려면 다시 다운로드해야 합니다.",
+ "buttons": {
+ "submit": "제거"
+ }
+ },
+ "install-folder": {
+ "title": "설치 폴더",
+ "description": "기본 설치 폴더를 변경하면 설치된 모든 데이터가 새 폴더로 이동됩니다.",
+ "buttons": {
+ "submit": "폴더 선택"
+ }
+ },
+ "edit-version": {
+ "title": "이름 변경",
+ "buttons": {
+ "submit": "저장"
+ }
+ },
+ "clone-version": {
+ "title": "버전 복제",
+ "description": "버전을 복제하여 Beat Saber의 추가 콘텐츠를 두 가지 버전으로 나눌 수 있습니다.",
+ "inputs": {
+ "name": {
+ "label": "이름",
+ "placeholder": "버전 이름"
+ },
+ "color": {
+ "label": "색상"
+ }
+ },
+ "buttons": {
+ "submit": "복제"
+ }
+ },
+ "uninstall-mod": {
+ "title": "제거",
+ "description": "정말로 이 {mod}를 제거하시겠습니까? 설치된 다른 모드의 오작동을 유발할 수 있습니다.",
+ "description-bsipa": "정말로 BSIPA를 제거하시겠습니까? 이 후에는 설치된 모든 모드가 작동하지 않습니다."
+ },
+ "uninstall-all-mods": {
+ "title": "모드 제거",
+ "description": "정말로 버전 {version}의 모든 모드를 제거하시겠습니까? 이 작업은 되돌릴 수 없습니다."
+ },
+ "maps-actions": {
+ "delete-maps": {
+ "title": {
+ "single": "이 맵을 삭제하시겠습니까?",
+ "multiple": "여러 맵을 삭제하시겠습니까?"
+ },
+ "desc": {
+ "single": "정말로 맵 {name}을(를) 삭제하시겠습니까?",
+ "multiple": "정말로 {nb}개의 맵을 삭제하시겠습니까?"
+ },
+ "info": {
+ "desc": {
+ "single": "이 맵은 공유 맵의 일부입니다.",
+ "multiple": "이 맵들은 공유 맵의 일부입니다."
+ },
+ "title": {
+ "single": "이 맵은 공유 맵을 사용하는 버전에서도 삭제됩니다.",
+ "multiple": "이 맵들은 공유 맵을 사용하는 버전에서도 삭제됩니다."
+ }
+ }
+ },
+ "link-maps": {
+ "title": "맵 연결",
+ "desc": "맵을 연결하면 이 기능이 활성화된 모든 버전 간에 맵을 공유할 수 있습니다. 연결되면 이 버전은 공유 맵을 활용할 수 있습니다.",
+ "info": "맵 추가 및 삭제도 공유됩니다.",
+ "keep-maps": {
+ "label": "맵 유지",
+ "title": "맵 유지를 선택하면 현재 버전의 모든 맵이 공유 맵 폴더에 복사됩니다. 활성화하지 않으면 이 버전의 맵은 유지되지 않고 손실됩니다."
+ },
+ "valid-btn": "맵 연결"
+ },
+ "unlink-maps": {
+ "title": "맵 연결 해제",
+ "desc": "맵 연결을 해제하면 이 버전에서 공유 맵을 사용할 수 없습니다.",
+ "keep-maps": {
+ "label": "맵 유지",
+ "title": "맵 유지를 선택하면 연결을 해제한 후 공유 폴더에서 현재 버전으로 모든 맵이 복사됩니다. 이 옵션을 비활성화해도 공유 맵은 손실되지 않습니다."
+ },
+ "valid-btn": "맵 연결 해제"
+ },
+ "delete-duplicate-maps": {
+ "title": "맵을 삭제하시겠습니까?",
+ "desc": "맵 {map}만 중복되었습니다. 삭제하시겠습니까?",
+ "desc-plural": "{nb}개의 중복된 맵이 발견되었습니다. 삭제하시겠습니까?"
+ }
+ },
+ "download-maps": {
+ "search-btn": "검색",
+ "loading-maps": "맵을 로딩 중...",
+ "no-maps-found": "맵을 찾을 수 없습니다",
+ "no-internet": "인터넷 연결 없음"
+ },
+ "mods-disclaimer": {
+ "title": "면책 조항",
+ "p-1": "모드를 사용하기로 선택함으로써 다음 사항에 동의합니다:",
+ "li-1": "기본 게임에서는 발생하지 않는 문제가 발생할 수 있습니다. 버그, 충돌, 지연의 99.9%는 모드로 인한 것입니다.",
+ "li-2": "모드는 업데이트에 의해 손상될 수 있으며, 이는 일반적인 일입니다. 모드 제작자는 개인 생활이 있는 자원봉사자이므로 이런 일이 발생해도 인내심과 존중을 가져주세요.",
+ "li-3": "Beat Games는 의도적으로 모드를 손상시키려고 하지 않습니다. 그들은 코드베이스를 개선하고자 하며, 그 과정에서 모드가 손상될 수 있지만, 모드를 없애려는 의도는 없습니다.",
+ "p-2": "모드와 관련된 문제로 게임 개발자 또는 모드 개발자를 비난하지 마세요. 모드 개발자와 게임 개발자는 별도의 그룹입니다."
+ },
+ "shared-folders": {
+ "title": "공유 폴더",
+ "description": "Beat Saber 폴더를 연결하여 다른 버전의 공유 폴더와 콘텐츠를 동기화하세요. 콘텐츠를 삭제하면 공유된 버전에서도 삭제됩니다.",
+ "buttons": {
+ "add-folder": "폴더 추가",
+ "link-folder": "폴더 연결",
+ "unlink-folder": "폴더 연결 해제",
+ "link-all": "모두 연결"
+ }
+ },
+ "create-launcher-shortcut": {
+ "title": "런처 바로가기 만들기",
+ "description": "바탕화면에 실행 파일의 바로가기를 만들어 BSManager를 손쉽게 실행하세요.",
+ "buttons": {
+ "submit": "바로가기 만들기"
+ }
+ },
+ "connect-to-meta": {
+ "title": "Meta에 연결하기",
+ "body": {
+ "token-needed": "Beat Saber를 다운로드하려면 Meta 로그인 토큰이 필요합니다.",
+ "need-cookie-enabled": "Meta에 로그인하면 로그인 창이 열리며 로그인 프로세스를 시작할 수 있습니다. 쿠키를 허용해 주세요. 그렇지 않으면 다운로드를 시작하기 위한 토큰을 얻지 못할 수 있습니다.",
+ "enter-token-manually": "로그인 토큰을 수동으로 입력하기",
+ "enter-token-manually-tooltip": "이를 통해 Meta 로그인을 거치지 않고 로그인 토큰을 입력할 수 있습니다."
+ },
+ "stay": "기억하기",
+ "connect-to-meta": "Meta에 연결하기"
+ },
+ "original-version-backup-oculus": {
+ "title": "주의",
+ "body": {
+ "must-be-installed-once": "Oculus Store에서 적어도 한 번은 Beat Saber를 설치해야 합니다. 그렇지 않으면 Beat Saber가 실행 후 자동으로 종료될 수 있습니다.",
+ "will-backup": "이 버전을 실행하기 위해 Oculus 라이브러리에 있는 Beat Saber의 원래 설치 폴더의 이름이 변경되며, Beat Saber가 종료되면 자동으로 복원됩니다."
+ },
+ "not-remind-me": "다시 표시하지 않기",
+ "understood": "알겠습니다"
+ },
+ "enter-meta-token": {
+ "title": "Oculus 토큰",
+ "body": {
+ "info-enter-token": "Beat Saber를 다운로드하려면 Oculus 로그인 토큰이 필요합니다.",
+ "how-obtain-token": "Oculus 토큰은 어떻게 얻나요?",
+ "oculus-token": "Oculus 토큰",
+ "token-is-invalid": "토큰이 유효하지 않습니다.",
+ "save-my-token": "내 토큰 저장하기",
+ "have-token-saved": "이미 토큰을 저장했습니다",
+ "save-token-info": "이를 통해 토큰을 쉽게 재사용하기 위해 저장합니다. 저장을 위해 토큰을 암호화할 비밀번호를 만들어야 합니다. 비밀번호를 잊어버린 경우, 토큰을 다시 제공하면 됩니다.",
+ "password": "비밀번호",
+ "password-too-short": "비밀번호가 너무 짧습니다",
+ "info-enter-password": "Beat Saber를 다운로드하려면 Oculus 로그인 토큰이 필요합니다. 저장한 Oculus 토큰을 위해 사용한 비밀번호를 입력하세요.",
+ "info-disabled-btn-password": "제공된 비밀번호로 복호화된 토큰은 무효입니다. 토큰을 저장하기 위해 사용된 비밀번호와 동일한지 확인하세요.",
+ "enter-oculus-token": "Oculus 토큰 입력하기"
+ },
+ "valid-btn": "확인"
+ },
+ "launch-as-admin": {
+ "title": "관리자 권한",
+ "body": {
+ "info": "Steam이 관리자 권한으로 실행되고 있는 것으로 감지되었습니다. Steam과 통신하려면 Beat Saber도 관리자 권한으로 실행해야 합니다. 그렇지 않으면 Beat Saber에서 문제가 발생하여 실행 후 종료될 수 있습니다.",
+ "info-2": "관리자 모드로 Beat Saber를 실행하면 설치된 MOD에도 관리자 권한이 부여됩니다. 따라서 관리자 권한 없이 Steam을 재시작하는 것을 권장합니다.",
+ "info-3": "Steam에 관리자 권한을 부여하는 것은 권장되지 않습니다. 이는 설치된 게임이나 MOD에도 영향을 미치고 보안 위험을 초래할 수 있습니다."
+ },
+ "launch-as-admin": "관리자로 실행",
+ "not-remind-me": "다시 알림 받지 않기"
+ },
+ "ask-install-path": {
+ "title": "설치 폴더",
+ "choose-folder-description": "BSManager에 의해 다운로드된 모든 콘텐츠 (버전, MOD, 맵, 재생 목록 등)를 포함하는 폴더를 선택하세요.",
+ "choose-folder": "폴더 선택하기",
+ "default": "기본값",
+ "default-tooltip": "기본적으로 홈 폴더로 설정됩니다"
+ }
+ },
+ "maps": {
+ "map-filter-panel": {
+ "duration": "길이",
+ "nps": "초당 노트 수",
+ "njs": "노트 점프 속도",
+ "tags": "태그",
+ "specificities": "특성",
+ "requirements": "모드 필요",
+ "exclude": "제외하기"
+ },
+ "map-types": {
+ "accuracy": "정확도",
+ "balanced": "균형",
+ "challenge": "도전",
+ "dance-style": "댄스 스타일",
+ "fitness": "피트니스",
+ "speed": "속도",
+ "tech": "기술적"
+ },
+ "map-styles": {
+ "dance": "댄스",
+ "swing": "스윙",
+ "nightcore": "나이트코어",
+ "folk-acoustic": "포크 & 어쿠스틱",
+ "kids-family": "키즈 & 가족",
+ "ambient": "앰비언트",
+ "funk-disco": "펑크 & 디스코",
+ "jazz": "재즈",
+ "soul": "소울",
+ "speedcore": "스피드코어",
+ "punk": "펑크",
+ "rb": "R&B",
+ "holiday": "휴일",
+ "vocaloid": "보컬로이드",
+ "j-rock": "J-록",
+ "trance": "트랜스",
+ "drum-and-bass": "드럼 & 베이스",
+ "comedy-meme": "코미디 & 밈",
+ "instrumental": "기악",
+ "hardcore": "하드코어",
+ "k-pop": "K-팝",
+ "indie": "인디",
+ "techno": "테크노",
+ "house": "하우스",
+ "video-game-soundtrack": "게임 음악",
+ "tv-movie-soundtrack": "TV & 영화",
+ "alternative": "얼터너티브",
+ "dubstep": "덥스텝",
+ "metal": "메탈",
+ "anime": "애니메이션",
+ "hip-hop-rap": "힙합 & 랩",
+ "j-pop": "J-팝",
+ "rock": "록",
+ "pop": "팝",
+ "electronic": "일렉트로닉",
+ "classical-orchestral": "클래식 & 오케스트라"
+ },
+ "map-specificities": {
+ "automapper": "AI",
+ "ranked": "랭크 인",
+ "curated": "선별됨",
+ "verified": "인증됨",
+ "fullSpread": "풀 스프레드"
+ },
+ "map-excludes": {
+ "installed": "설치됨"
+ },
+ "difficulties": {
+ "Easy": "쉬움",
+ "Normal": "보통",
+ "Hard": "어려움",
+ "Expert": "전문가",
+ "ExpertPlus": "전문가+"
+ },
+ "map-item": {
+ "by": "{songAutor} 작성",
+ "mapped-by": "작성자 ",
+ "delete": "삭제",
+ "preview": "맵 미리보기",
+ "bsr-code": "BSR 코드",
+ "download": "맵 다운로드",
+ "downloading": "맵 다운로드 중",
+ "cancel-download": "다운로드 취소",
+ "hightlight-difficulty": "난이도 강조하기"
+ }
+ },
+ "models": {
+ "types": {
+ "singular": {
+ "avatar": "아바타",
+ "saber": "세이버",
+ "platform": "플랫폼",
+ "bloq": "노트"
+ },
+ "plural": {
+ "avatar": "아바타",
+ "saber": "세이버",
+ "platform": "플랫폼",
+ "bloq": "노트"
+ }
+ },
+ "sorts": {
+ "name": "이름",
+ "date": "최신",
+ "author": "작성자"
+ },
+ "panel": {
+ "actions": {
+ "search": "모델 검색",
+ "drop-down": {
+ "delete": "모델 삭제",
+ "export": "모델 내보내기"
+ },
+ "link-models": "모델 링크",
+ "unlink-models": "모델 링크 해제"
+ },
+ "grid": {
+ "loading": "모델 로딩 중...",
+ "no-models": "모델이 없습니다",
+ "download-models": "모델 다운로드"
+ }
+ },
+ "modals": {
+ "delete-model": {
+ "title": "모델 삭제",
+ "desc": "정말로 모델 {modelName}를 삭제하시겠습니까?",
+ "linked-annotation": "이 모델은 모든 링크된 버전에서 삭제됩니다."
+ },
+ "delete-models": {
+ "title": "모델 삭제",
+ "desc": "정말로 {nb}개의 모델을 삭제하시겠습니까?",
+ "linked-annotation": "이 모델은 모든 링크된 버전에서 삭제됩니다."
+ },
+ "download-models": {
+ "search-btn": "검색",
+ "search-placeholder": "모델 검색",
+ "search-tips": {
+ "header": {
+ "tag": "태그",
+ "desc": "설명"
+ },
+ "author-desc": "지정된 작성자의 모델만 표시",
+ "hash-desc": "지정된 해시를 가진 모델만 표시",
+ "tag-desc": "지정된 태그를 가진 모델만 표시",
+ "name-desc": "지정된 이름의 모델만 표시",
+ "discordid-desc": "지정된 Discord 사용자로부터의 모델만 표시",
+ "status-desc": "지정된 상태의 모델만 표시 (프로필만, 작성자만)"
+ },
+ "no-models": "모델을 찾을 수 없습니다.",
+ "no-internet": "인터넷에 연결할 수 없습니다.",
+ "error-occured": "오류가 발생했습니다. 다시 시도해 주세요."
+ },
+ "link-models": {
+ "avatar": {
+ "title": "아바타 링크",
+ "desc": "아바타를 링크하면 이 기능이 활성화된 모든 버전 간에 아바타를 공유할 수 있습니다. 또한 링크하면 이 버전이 공유 아바타의 혜택을 받을 수 있습니다.",
+ "info": "아바타의 추가 및 삭제도 공유됩니다.",
+ "keep-models": {
+ "label": "아바타 유지",
+ "title": "아바타를 유지하면 현재 버전에서 모든 아바타가 공유 아바타 폴더에 복사됩니다. 활성화하지 않으면 이 버전의 아바타가 유지되지 않으며, 그들은 사라집니다."
+ },
+ "valid-btn": "아바타 링크"
+ },
+ "saber": {
+ "title": "세이버 링크",
+ "desc": "세이버를 링크하면 이 기능이 활성화된 모든 버전 간에 세이버를 공유할 수 있습니다. 또한 링크하면 이 버전이 공유 세이버의 혜택을 받을 수 있습니다.",
+ "info": "세이버의 추가 및 삭제도 공유됩니다.",
+ "keep-models": {
+ "label": "세이버 유지",
+ "title": "세이버를 유지하면 현재 버전에서 모든 세이버가 공유 세이버 폴더에 복사됩니다. 활성화하지 않으면 이 버전의 세이버가 유지되지 않으며, 그들은 사라집니다."
+ },
+ "valid-btn": "세이버 링크"
+ },
+ "platform": {
+ "title": "플랫폼 링크",
+ "desc": "플랫폼을 링크하면 이 기능이 활성화된 모든 버전 간에 플랫폼을 공유할 수 있습니다. 또한 링크하면 이 버전이 공유 플랫폼의 혜택을 받을 수 있습니다.",
+ "info": "플랫폼의 추가 및 삭제도 공유됩니다.",
+ "keep-models": {
+ "label": "플랫폼 유지",
+ "title": "플랫폼을 유지하면 현재 버전에서 모든 플랫폼이 공유 플랫폼 폴더에 복사됩니다. 활성화하지 않으면 이 버전의 플랫폼이 유지되지 않으며, 그들은 사라집니다."
+ },
+ "valid-btn": "플랫폼 링크"
+ },
+ "bloq": {
+ "title": "노트 링크",
+ "desc": "노트를 링크하면 이 기능이 활성화된 모든 버전 간에 노트를 공유할 수 있습니다. 또한 링크하면 이 버전이 공유 노트의 혜택을 받을 수 있습니다.",
+ "info": "노트의 추가 및 삭제도 공유됩니다.",
+ "keep-models": {
+ "label": "노트 유지",
+ "title": "노트를 유지하면 현재 버전에서 모든 노트가 공유 노트 폴더에 복사됩니다. 활성화하지 않으면 이 버전의 노트가 유지되지 않으며, 그들은 사라집니다."
+ },
+ "valid-btn": "노트 링크"
+ }
+ },
+ "unlink-models": {
+ "avatar": {
+ "title": "아바타 링크 해제",
+ "desc": "아바타의 링크를 해제하면 이 버전에서는 공유 아바타를 사용할 수 없습니다.",
+ "keep-models": {
+ "label": "아바타 유지",
+ "title": "아바타를 유지하면 링크를 해제한 후 공유 폴더에 있는 모든 아바타가 현재 버전에 복사됩니다. 이것을 비활성화하더라도 공유 아바타는 사라지지 않습니다."
+ },
+ "valid-btn": "아바타 링크 해제"
+ },
+ "saber": {
+ "title": "세이버 링크 해제",
+ "desc": "세이버의 링크를 해제하면 이 버전에서는 공유 세이버를 사용할 수 없습니다.",
+ "keep-models": {
+ "label": "세이버 유지",
+ "title": "세이버를 유지하면 링크를 해제한 후 공유 폴더에 있는 모든 세이버가 현재 버전에 복사됩니다. 이것을 비활성화하더라도 공유 세이버는 사라지지 않습니다."
+ },
+ "valid-btn": "세이버 링크 해제"
+ },
+ "platform": {
+ "title": "플랫폼 링크 해제",
+ "desc": "플랫폼의 링크를 해제하면 이 버전에서는 공유 플랫폼을 사용할 수 없습니다.",
+ "keep-models": {
+ "label": "플랫폼 유지",
+ "title": "플랫폼을 유지하면 링크를 해제한 후 공유 폴더에 있는 모든 플랫폼이 현재 버전에 복사됩니다. 이것을 비활성화하더라도 공유 플랫폼은 사라지지 않습니다."
+ },
+ "valid-btn": "플랫폼 링크 해제"
+ },
+ "bloq": {
+ "title": "노트 링크 해제",
+ "desc": "노트의 링크를 해제하면 이 버전에서는 공유 노트를 사용할 수 없습니다.",
+ "keep-models": {
+ "label": "노트 유지",
+ "title": "노트를 유지하면 링크를 해제한 후 공유 폴더에 있는 모든 노트가 현재 버전에 복사됩니다. 이것을 비활성화하더라도 공유 노트는 사라지지 않습니다."
+ },
+ "valid-btn": "노트 링크 해제"
+ }
+ }
+ },
+ "notifications": {
+ "prevent-for-mods": {
+ "title": "모드가 필요합니다!",
+ "desc": "Beat Saber에서 모델을 사용하려면 필요한 모드를 설치하고 확인하세요.",
+ "go-to-mods": "모드 설치기로 이동",
+ "not-remind": "다시 표시하지 않기"
+ },
+ "export-success": {
+ "title": "내보내기 완료🎉"
+ }
+ }
+ },
+ "beat-saver": {
+ "maps-sorts": {
+ "Latest": "최신",
+ "Relevance": "관련성",
+ "Rating": "평점",
+ "Curated": "엄선됨"
+ }
+ },
+ "auto-update": {
+ "checking": "업데이트 확인 중",
+ "downloading": "업데이트 중"
+ },
+ "bs-shortcut-launch": {
+ "beat-saber-launching": "",
+ "launching": "실행 중",
+ "open-bsmanager": "BSManager 열기",
+ "status-text": {
+ "init": "초기화 중...",
+ "success": {
+ "BS_LAUNCHING": "Beat Saber 실행 중...",
+ "STEAM_LAUNCHING": "Steam 실행 중...",
+ "STEAM_LAUNCHED": "Steam 실행 완료!",
+ "UNABLE_TO_LAUNCH_STEAM": "Steam을 실행할 수 없습니다. Beat Saber를 강제로 실행합니다..."
+ }
+ }
+ },
+ "drop-zone": {
+ "or-browse-files": "또는 파일 찾아보기"
+ },
+ "playlist": {
+ "error-playlist-creation-title": "재생목록 생성 오류",
+ "error-playlist-creation-desc": "재생목록 생성 중 오류가 발생했습니다.",
+ "playlist-created-title": "재생목록이 생성되었습니다",
+ "playlist-created-desc": "재생목록이 정상적으로 생성되었습니다. 지금 바로 맵을 동기화할 수 있습니다!",
+ "download-playlist": "재생목록 다운로드",
+ "synchronize-playlist": "재생목록 동기화",
+ "synchronize-maps": "맵 동기화",
+ "error-playlists-synchronization-title": "재생목록 동기화 오류",
+ "error-playlists-synchronization-desc": "재생목록 동기화 중 오류가 발생했습니다.",
+ "playlists-synchronized-title": "재생목록이 동기화되었습니다!",
+ "playlists-synchronized-desc": "재생목록과 해당 맵이 다운로드되었습니다.",
+ "playlists-export-error-title": "재생목록 내보내기 오류",
+ "playlists-export-error-desc": "재생목록 내보내기 중 오류가 발생했습니다.",
+ "playlists-exported-title": "재생목록이 내보내어졌습니다!",
+ "playlists-exported-desc": "재생목록이 정상적으로 내보내어졌습니다.",
+ "playlists-with-maps-exported-desc": "재생목록과 해당 맵이 정상적으로 내보내어졌습니다.",
+ "playlist-delete-error-title": "재생목록 삭제 오류",
+ "playlist-delete-error-desc": "재생목록 삭제 중 오류가 발생했습니다.",
+ "playlists-deleted-title": "재생목록이 삭제되었습니다!",
+ "playlists-deleted-desc": "재생목록이 정상적으로 삭제되었습니다.",
+ "edit-playlist": "재생목록 편집",
+ "playlist-edit-error-title": "재생목록 편집 오류",
+ "playlist-edit-error-desc": "재생목록 편집 중 오류가 발생했습니다.",
+ "playlist-edited-title": "재생목록이 편집되었습니다!",
+ "playlist-edited-desc": "재생목록이 정상적으로 변경되었습니다. 지금 바로 맵을 동기화할 수 있습니다!",
+ "playlists-loading": "재생목록 로딩 중...",
+ "no-playlists": "재생목록이 없습니다",
+ "download-playlists": "재생목록 다운로드",
+ "created-by": "작성자",
+ "stop-download": "다운로드 중지",
+ "cancel-download": "다운로드 취소",
+ "open-file": "파일 열기",
+ "link-playlists": "재생목록 링크",
+ "link-playlist-desc": "재생목록을 링크하면 모든 버전 간에 재생목록을 공유할 수 있습니다. 링크를 클릭하면 이 버전이 공유 재생목록의 혜택을 받습니다.",
+ "link-playlist-info": "재생목록의 추가 및 삭제도 공유됩니다.",
+ "keep-playlists": "재생목록 유지",
+ "keep-playlists-tip": "재생목록을 유지하면 현재 버전의 재생목록이 공유 재생목록 폴더로 이동됩니다. 그렇지 않으면 잃어버리게 됩니다.",
+ "unlink-playlists": "재생목록 링크 해제",
+ "unlink-playlist-desc": "경고: 재생목록 링크를 해제하면 이 버전에서는 공유 재생목록을 사용할 수 없습니다.",
+ "unlink-keep-playlists-tip": "재생목록을 유지하면 현재 버전에 대해 공유 재생목록의 복사본이 생성됩니다. 그렇지 않으면 이 버전의 재생목록이 유지되지 않습니다.",
+ "delete-playlist-ask": "재생목록을 삭제하시겠습니까?",
+ "delete-playlists-ask": "재생목록을 삭제하시겠습니까?",
+ "delete-playlist-desc": "재생목록「{playlistTitle}」을(를) 삭제해도 괜찮습니까?",
+ "delete-playlists-desc": "{nb}개의 재생목록을 삭제해도 괜찮습니까?",
+ "delete-maps": "맵 삭제",
+ "delete-playlist-maps-tip": "활성화하면 재생목록 내의 모든 맵이 삭제됩니다.",
+ "delete-playlists-maps-tip": "활성화하면 재생목록 내의 모든 맵이 삭제됩니다.",
+ "export-playlist-ask": "재생목록을 내보내시겠습니까?",
+ "export-playlists-ask": "재생목록을 내보내시겠습니까?",
+ "export-playlist-desc": "재생목록「{playlistTitle}」을(를) 내보내도 괜찮습니까?",
+ "export-playlists-desc": "{nb}개의 재생목록을 내보내도 괜찮습니까?",
+ "export-maps": "맵 내보내기",
+ "export-playlist-maps-tip": "활성화하면 재생목록 내의 모든 맵도 내보내어집니다.",
+ "export-playlists-maps-tip": "활성화하면 재생목록 내의 모든 맵도 내보내어집니다.",
+ "export": "내보내기",
+ "need-clone-title": "경고",
+ "need-clone-desc-1": "이 재생목록은 외부 사이트에서 다운로드되었으며 동기화 링크가 포함되어 있습니다.",
+ "need-clone-desc-2": "동기화 중 변경 사항을 잃지 않도록 재생목록이 복제되고 동기화 링크가 삭제됩니다.",
+ "need-clone-desc-3": "그 후 필요에 따라 원래 재생목록을 삭제할 수 있습니다.",
+ "understood": "이해했습니다",
+ "synchronize-playlist-ask": "재생목록을 동기화하시겠습니까?",
+ "synchronize-playlists-ask": "재생목록을 동기화하시겠습니까?",
+ "synchronize-playlist-desc": "재생목록「{playlistTitle}」을(를) 동기화해도 괜찮습니까?",
+ "synchronize-playlists-desc": "{nb}개의 재생목록을 동기화해도 괜찮습니까?",
+ "synchronize-playlist-tip": "이 작업은 재생목록을 업데이트하고 부족한 맵을 다운로드합니다. 몇 분이 걸릴 수 있습니다.",
+ "synchronize": "동기화",
+ "curated": "추천",
+ "verified-mapper": "인증된 맵퍼",
+ "empty-playlists": "빈 재생목록",
+ "search-playlist": "재생목록 검색",
+ "no-playlists-found": "재생목록이 없습니다",
+ "error-occur-while-loading-playlists": "재생목록 로딩 중 오류가 발생했습니다",
+ "error-occur-while-loading-playlist": "재생목록 로딩 중 오류가 발생했습니다",
+ "loading-maps": "맵 로딩 중...",
+ "no-maps-found-for-playlist": "이 재생목록에 대한 맵이 없습니다",
+ "playlist-contain-no-maps": "재생목록에 맵이 포함되어 있지 않습니다",
+ "no-map-installed-for-playlist": "이 재생목록에 설치된 맵이 없습니다",
+ "playlist-is-waiting-to-download": "재생목록이 다운로드 대기 중입니다",
+ "download-maps": "맵 다운로드",
+ "download-missing-maps": "부족한 맵 다운로드",
+ "playlist-is-downloading": "재생목록 다운로드 중입니다",
+ "some-playlist-maps-are-missing": "이 재생목록의 일부 맵이 부족합니다",
+ "create-a-playlist": "재생목록 생성",
+ "synchronize-playlists": "재생목록 동기화",
+ "export-playlists": "재생목록 내보내기",
+ "delete-playlists": "재생목록 삭제",
+ "choose-image": "이미지 선택",
+ "title": "제목",
+ "playlist-title": "재생목록 제목",
+ "description": "설명",
+ "playlist-description": "재생목록 설명",
+ "author": "작성자",
+ "playlist-author": "재생목록 작성자",
+ "save": "저장",
+ "loading": "로딩 중...",
+ "installed": "설치됨",
+ "no-map-found": "맵이 없습니다",
+ "edit-playlist-shortcuts": "Shift 키 또는 Ctrl 키를 누른 상태에서 여러 맵 선택",
+ "add-to-playlist": "재생목록에 추가",
+ "remove-from-playlist": "재생목록에서 제거",
+ "playlist-is-empty": "재생목록이 비어 있습니다",
+ "continue": "계속",
+ "nb-maps": "맵 수",
+ "nb-mappers": "맵퍼 수",
+ "duration": "지속 시간",
+ "nps": "초당 음표 수",
+ "date-picker": {
+ "start-date-end-date": "시작일 — 종료일",
+ "all": "모두",
+ "last-24h": "지난 24시간",
+ "last-week": "지난주",
+ "last-month": "지난달",
+ "3-last-month": "지난 3개월"
+ },
+ "playlists-imported": "재생목록이 가져와졌습니다",
+ "all-playlists-have-been-successfully-imported": "모든 재생목록이 정상적으로 가져와졌습니다",
+ "no-playlist-found": "재생목록이 없습니다",
+ "no-playlist-found-in-selected-files": "선택한 파일에 재생목록이 없습니다",
+ "some-playlists-not-imported": "일부 재생목록은 가져오지 못했습니다",
+ "some-playlists-have-been-imported": {
+ "INVALID_SOURCE": "일부 재생목록이 없습니다",
+ "INVALID_PLAYLIST_FILE": "일부 재생목록이 유효하지 않습니다",
+ "CANNOT_PARSE_PLAYLIST": "일부 재생목록을 읽을 수 없습니다",
+ "unknown": "일부 재생목록을 가져올 수 없습니다"
+ },
+ "no-playlists-imported": "재생목록이 가져와지지 않았습니다",
+ "no-playlists-imported-errors": {
+ "INVALID_SOURCE": "재생목록이 없습니다",
+ "INVALID_PLAYLIST_FILE": "재생목록이 유효하지 않습니다",
+ "CANNOT_PARSE_PLAYLIST": "재생목록을 읽을 수 없습니다",
+ "unknown": "재생목록을 가져올 수 없습니다"
+ }
+ },
+ "dateformat": {
+ "dayNames": [
+ "일",
+ "월",
+ "화",
+ "수",
+ "목",
+ "금",
+ "토",
+ "일요일",
+ "월요일",
+ "화요일",
+ "수요일",
+ "목요일",
+ "금요일",
+ "토요일"
+ ],
+ "monthNames": [
+ "1월",
+ "2월",
+ "3월",
+ "4월",
+ "5월",
+ "6월",
+ "7월",
+ "8월",
+ "9월",
+ "10월",
+ "11월",
+ "12월",
+ "1월",
+ "2월",
+ "3월",
+ "4월",
+ "5월",
+ "6월",
+ "7월",
+ "8월",
+ "9월",
+ "10월",
+ "11월",
+ "12월"
+ ],
+ "timeNames": [
+ "오전",
+ "오후",
+ "오전",
+ "오후",
+ "오전",
+ "오후",
+ "오전",
+ "오후"
+ ]
+ }
+}
diff --git a/assets/jsons/translations/ru.json b/assets/jsons/translations/ru.json
index 54bb3b08..2049abc0 100644
--- a/assets/jsons/translations/ru.json
+++ b/assets/jsons/translations/ru.json
@@ -180,6 +180,7 @@
"zh-CN": "简体中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "Английский, Великобритания",
"en-US": "Английский, США",
@@ -189,7 +190,8 @@
"ru-RU": "Русский",
"zh-CN": "Китайский (упрощенный)",
"zh-TW": "Китайский (традиционный)",
- "ja-JP": "Японский"
+ "ja-JP": "Японский",
+ "ko-KR": "Корейский"
}
}
},
diff --git a/assets/jsons/translations/zh-tw.json b/assets/jsons/translations/zh-tw.json
index 7b4889b0..79c75ffe 100644
--- a/assets/jsons/translations/zh-tw.json
+++ b/assets/jsons/translations/zh-tw.json
@@ -180,6 +180,7 @@
"zh-CN": "簡體中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "英式英語",
"en-US": "美式英語",
@@ -189,7 +190,8 @@
"ru-RU": "俄語",
"zh-CN": "簡體中文",
"zh-TW": "正體中文",
- "ja-JP": "日語"
+ "ja-JP": "日語",
+ "ko-KR": "韓語"
}
}
},
diff --git a/assets/jsons/translations/zh.json b/assets/jsons/translations/zh.json
index 9f135e35..57359296 100644
--- a/assets/jsons/translations/zh.json
+++ b/assets/jsons/translations/zh.json
@@ -180,6 +180,7 @@
"zh-CN": "简体中文",
"zh-TW": "正體中文",
"ja-JP": "日本語",
+ "ko-KR": "한국어",
"translated": {
"en-EN": "英式英语",
"en-US": "美式英语",
@@ -189,7 +190,8 @@
"ru-RU": "俄语",
"zh-CN": "简体中文",
"zh-TW": "正体中文",
- "ja-JP": "日语"
+ "ja-JP": "日语",
+ "ko-KR": "韩语"
}
}
},
diff --git a/src/renderer/components/models-management/models-panel.component.tsx b/src/renderer/components/models-management/models-panel.component.tsx
index c43331c3..e10ba910 100644
--- a/src/renderer/components/models-management/models-panel.component.tsx
+++ b/src/renderer/components/models-management/models-panel.component.tsx
@@ -139,6 +139,7 @@ export function ModelsPanel({ version, isActive, goToMods }: { version?: BSVersi
icon="add"
text="misc.add"
typeColor="primary"
+ textClassName="whitespace-nowrap"
withBar={false}
onClick={e => {
e.preventDefault();
diff --git a/src/renderer/components/svgs/bsm-icon.component.tsx b/src/renderer/components/svgs/bsm-icon.component.tsx
index 0802ff02..829563e1 100644
--- a/src/renderer/components/svgs/bsm-icon.component.tsx
+++ b/src/renderer/components/svgs/bsm-icon.component.tsx
@@ -56,6 +56,7 @@ import { RussianIcon } from "./flags/russian-icon.component";
import { ChineseIcon } from "./flags/chinese-icon.component";
import { ChineseTraditionalIcon } from "./flags/chineseTraditional-icon.component";
import { JapanIcon } from "./flags/japan-icon.component";
+import { KoreaIcon } from "./flags/korea-icon.component";
import { ChevronTopIcon } from "./icons/chevron-top-icon.component";
import { EyeCrossIcon } from "./icons/eye-cross-icon.component";
import { ShortcutIcon } from "./icons/shortcut-icon.component";
@@ -66,7 +67,7 @@ import { BrowseIcon } from "./icons/browse-icon.component";
import { AddFileIcon } from "./icons/add-file-icon.component";
-export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "fr-FR-flag" | "es-ES-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag");
+export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "fr-FR-flag" | "es-ES-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag" | "ko-KR-flag");
export const BsmIcon = memo(({ className, icon, style }: { className?: string; icon: BsmIconType; style?: CSSProperties }) => {
// TODO : Very ugly very messy, need to find a better way to do this
@@ -130,6 +131,9 @@ export const BsmIcon = memo(({ className, icon, style }: { className?: string; i
if (icon === "ja-JP-flag") {
return ;
}
+ if (icon === "ko-KR-flag"){
+ return ;
+ }
if (icon === "task") {
return ;
}
diff --git a/src/renderer/components/svgs/flags/korea-icon.component.tsx b/src/renderer/components/svgs/flags/korea-icon.component.tsx
new file mode 100644
index 00000000..edb661b5
--- /dev/null
+++ b/src/renderer/components/svgs/flags/korea-icon.component.tsx
@@ -0,0 +1,14 @@
+import { createSvgIcon } from "../svg-icon.type";
+
+export const KoreaIcon = createSvgIcon((props, ref) => {
+ return (
+
+ );
+});
diff --git a/src/renderer/config/default-configuration.config.ts b/src/renderer/config/default-configuration.config.ts
index 5172c42e..df69b903 100644
--- a/src/renderer/config/default-configuration.config.ts
+++ b/src/renderer/config/default-configuration.config.ts
@@ -23,7 +23,7 @@ export const defaultConfiguration: {
"second-color": "#ff4444",
theme: "os",
language: window.navigator.language.length <= 2 ? `${window.navigator.language}-${window.navigator.language.toLocaleUpperCase()}` : window.navigator.language,
- supported_languages: ["en-US", "en-EN", "fr-FR", "es-ES", "de-DE", "ru-RU", "zh-CN", "zh-TW", "ja-JP"],
+ supported_languages: ["en-US", "en-EN", "fr-FR", "es-ES", "de-DE", "ru-RU", "zh-CN", "zh-TW", "ja-JP", "ko-KR"],
default_mods: ["SongCore", "WhyIsThereNoLeaderboard", "BeatSaverDownloader", "BeatSaverVoting", "PlaylistManager"],
"default-shared-folders": [
window.electron.path.join("Beat Saber_Data", "CustomLevels"),