diff --git a/www/src/Components/LanguageSelector.jsx b/www/src/Components/LanguageSelector.jsx
index dec9855b2..34ed97c99 100644
--- a/www/src/Components/LanguageSelector.jsx
+++ b/www/src/Components/LanguageSelector.jsx
@@ -8,6 +8,7 @@ import zhCNFlag from '../Icons/Flags/zhCN';
import ptBRFlag from '../Icons/Flags/ptBR';
import deDEFlag from '../Icons/Flags/De';
import jaJPFlag from '../Icons/Flags/jaJP';
+import krKOFlag from '../Icons/Flags/koKR';
const dropdownOptions = [
{ code: 'en', icon: UsFlag },
@@ -15,6 +16,7 @@ const dropdownOptions = [
{ code: 'zh-CN', icon: zhCNFlag },
{ code: 'de-DE', icon: deDEFlag },
{ code: 'ja-JP', icon: jaJPFlag },
+ { code: 'ko-KR', icon: krKOFlag },
];
const LanguageSelector = () => {
diff --git a/www/src/Icons/Flags/koKR.tsx b/www/src/Icons/Flags/koKR.tsx
new file mode 100644
index 000000000..7fb8eb8ea
--- /dev/null
+++ b/www/src/Icons/Flags/koKR.tsx
@@ -0,0 +1,35 @@
+import React from 'react';
+
+// Source: https://flagicons.lipis.dev/
+const koKR = () => (
+
+
+);
+
+export default koKR;
diff --git a/www/src/Locales/de-DE/Components.jsx b/www/src/Locales/de-DE/Components.jsx
index cd5fb8f6b..241485b13 100644
--- a/www/src/Locales/de-DE/Components.jsx
+++ b/www/src/Locales/de-DE/Components.jsx
@@ -6,6 +6,7 @@ export default {
'zh-CN': '简体中文 (Simplified Chinese)',
'de-DE': 'Deutsch (German)',
'ja-JP': '日本語 (Japaanische)',
+ 'ko-KR': '한국어 (Koreanisch)',
},
'color-scheme': {
dark: 'Dunkel',
diff --git a/www/src/Locales/en/Components.jsx b/www/src/Locales/en/Components.jsx
index a5909388f..12f17b0da 100644
--- a/www/src/Locales/en/Components.jsx
+++ b/www/src/Locales/en/Components.jsx
@@ -6,6 +6,7 @@ export default {
'zh-CN': '简体中文 (Simplified Chinese)',
'de-DE': 'Deutsch (German)',
'ja-JP': '日本語 (Japanese)',
+ 'ko-KR': '한국어 (Korean)',
},
'color-scheme': {
dark: 'Dark',
diff --git a/www/src/Locales/ja-JP/Components.jsx b/www/src/Locales/ja-JP/Components.jsx
index 75d910996..577909fd7 100644
--- a/www/src/Locales/ja-JP/Components.jsx
+++ b/www/src/Locales/ja-JP/Components.jsx
@@ -6,6 +6,7 @@ export default {
'zh-CN': '简体中文 (中国語 簡体字)',
'de-DE': 'Deutsch (ドイツ語)',
'ja-JP': '日本語 (Japanese)',
+ 'ko-KR': '한국어 (韓国語)',
},
'color-scheme': {
dark: 'ダーク',
diff --git a/www/src/Locales/ko-KR/Addons/PCF8575.jsx b/www/src/Locales/ko-KR/Addons/PCF8575.jsx
new file mode 100644
index 000000000..e0a780501
--- /dev/null
+++ b/www/src/Locales/ko-KR/Addons/PCF8575.jsx
@@ -0,0 +1,8 @@
+export default {
+ 'header-text': 'PCF8575 IO Expander',
+ 'block-label': 'I2C Block',
+ 'label-direction': {
+ input: 'Input',
+ output: 'Output',
+ },
+};
diff --git a/www/src/Locales/ko-KR/Addons/ReactiveLED.jsx b/www/src/Locales/ko-KR/Addons/ReactiveLED.jsx
new file mode 100644
index 000000000..86389a697
--- /dev/null
+++ b/www/src/Locales/ko-KR/Addons/ReactiveLED.jsx
@@ -0,0 +1,15 @@
+export default {
+ 'header-text': '반응형 LEDs',
+ 'button-save': '저장 LEDs',
+ 'led-panel-label': 'LED #{{index}}',
+ 'led-pin-label': 'LED 핀',
+ 'led-action-label': '액션',
+ 'led-mode-up-label': '기본 모드',
+ 'led-mode-down-label': '액티브 모드',
+ 'led-mode': {
+ 'static-on': '스태틱 켜짐',
+ 'static-off': '스태틱 꺼짐',
+ 'fade-in': '페이드 인',
+ 'fade-out': '페이드 아웃',
+ },
+};
diff --git a/www/src/Locales/ko-KR/Addons/Rotary.jsx b/www/src/Locales/ko-KR/Addons/Rotary.jsx
new file mode 100644
index 000000000..83eb1244e
--- /dev/null
+++ b/www/src/Locales/ko-KR/Addons/Rotary.jsx
@@ -0,0 +1,21 @@
+export default {
+ 'header-text': 'Rotary Encoders',
+ 'encoder-one-label': 'Encoder 1',
+ 'encoder-two-label': 'Encoder 2',
+ 'encoder-pin-a-label': 'Pin A/CLK',
+ 'encoder-pin-b-label': 'Pin B/DT',
+ 'encoder-ppr-label': 'Pulses/Revolution (PPR)',
+ 'encoder-reset-after-label': 'Reset After (ms)',
+ 'encoder-allow-wrap-around-label': 'Allow Wrap-Around',
+ 'encoder-multiplier-label': 'Multiplier',
+ 'encoder-mode-label': 'Control Mode',
+ 'encoder-mode-none': 'None',
+ 'encoder-mode-left-analog-x': 'Left Analog X',
+ 'encoder-mode-left-analog-y': 'Left Analog Y',
+ 'encoder-mode-right-analog-x': 'Right Analog X',
+ 'encoder-mode-right-analog-y': 'Right Analog Y',
+ 'encoder-mode-left-trigger': 'Left Trigger',
+ 'encoder-mode-right-trigger': 'Right Trigger',
+ 'encoder-mode-dpad-x': 'D-Pad Left/Right',
+ 'encoder-mode-dpad-y': 'D-Pad Up/Down',
+};
diff --git a/www/src/Locales/ko-KR/Addons/WiiAddon.jsx b/www/src/Locales/ko-KR/Addons/WiiAddon.jsx
new file mode 100644
index 000000000..f52855ccf
--- /dev/null
+++ b/www/src/Locales/ko-KR/Addons/WiiAddon.jsx
@@ -0,0 +1,72 @@
+export default {
+ 'header-text': 'Wii 익스텐션',
+ 'sub-header-text':'<0>참고: 디스플레이가 동시에 활성화되면 이 애드온이 비활성화됩니다.0>',
+ 'sda-pin-label': 'I2C SDA 핀',
+ 'scl-pin-label': 'I2C SCL 핀',
+ 'block-label': 'I2C 블럭',
+ 'speed-label': 'I2C 스피드',
+ 'section-digital': '디지털',
+ 'section-analog': '아날로그',
+ 'option-simple': '단순',
+ 'option-advanced': '어드밴스',
+ 'controller-nunchuk': '넌척',
+ 'controller-classic': '클래식',
+ 'controller-taiko': '태고',
+ 'controller-guitar': '기타',
+ 'controller-drum': '드럼',
+ 'controller-turntable': '턴테이블',
+ 'controller-button-a': 'A',
+ 'controller-button-b': 'B',
+ 'controller-button-c': 'C',
+ 'controller-button-x': 'X',
+ 'controller-button-y': 'Y',
+ 'controller-button-z': 'Z',
+ 'controller-button-l': 'L',
+ 'controller-button-r': 'R',
+ 'controller-button-zl': 'ZL',
+ 'controller-button-zr': 'ZR',
+ 'controller-button-minus': '마이너스',
+ 'controller-button-home': '홈',
+ 'controller-button-plus': '플러스',
+ 'controller-button-up': '상',
+ 'controller-button-down': '하',
+ 'controller-button-left': '좌',
+ 'controller-button-right': '우',
+ 'controller-button-euphoria': '유포리아',
+ 'controller-button-leftgreen': '좌측 초록',
+ 'controller-button-leftred': '좌측 빨강',
+ 'controller-button-leftblue': '좌측 파란',
+ 'controller-button-rightgreen': '우측 초록',
+ 'controller-button-rightred': '우측 빨강',
+ 'controller-button-rightblue': '우측 파랑',
+ 'controller-button-orange': '오렌지',
+ 'controller-button-red': '빨강',
+ 'controller-button-blue': '파랑',
+ 'controller-button-green': '초록',
+ 'controller-button-yellow': '노랑',
+ 'controller-button-pedal': '패달',
+ 'controller-button-strumup': '스트럼 업',
+ 'controller-button-strumdown': '스트럼 다운',
+ 'controller-button-donleft': '쿵 좌측',
+ 'controller-button-katleft': '딱 좌측',
+ 'controller-button-donright': '쿵 우측',
+ 'controller-button-katright': '딱 우측',
+ 'controller-analog-stick': '스틱',
+ 'controller-analog-leftstick': '왼쪽 스틱',
+ 'controller-analog-rightstick': '오른쪽 스틱',
+ 'controller-analog-lefttrigger': 'L',
+ 'controller-analog-righttrigger': 'R',
+ 'controller-analog-leftturntable': '턴테이블 왼쪽',
+ 'controller-analog-rightturntable': '턴테이블 오른쪽',
+ 'controller-analog-fader': '페이더',
+ 'controller-analog-effects': '이펙트 다이얼',
+ 'controller-analog-whammybar': '와미 바',
+ 'controller-analog-axis-x': 'X +/- 축',
+ 'controller-analog-axis-y': 'Y +/- 축',
+ 'controller-analog-axis-trigger': '트리거',
+ 'analog-axis-mode-trigger': '<0>모든 값의 범위가 인터페이스로 전송됩니다.0>',
+ 'analog-axis-mode-button':'<0>정의된 임계값을 초과한 후 [눌림] 상태로 설정하는 디지털 스위치 역할을 합니다.0>',
+ 'analog-axis-mode-normal-direction':'<0>모든 값의 범위는 조이스틱의 축으로 변환되며, 최솟값은 음의 극을, 최댓값은 양의 극으로 가정됩니다.0>',
+ 'analog-axis-mode-invert-direction':'<0>모든 값의 범위는 조이스틱의 축으로 변환되며, 최솟값은 음의 극을, 최댓값은 양의 극으로 가정됩니다..0>',
+ 'button-save': '컨트롤러 저장',
+};
diff --git a/www/src/Locales/ko-KR/AddonsConfig.jsx b/www/src/Locales/ko-KR/AddonsConfig.jsx
new file mode 100644
index 000000000..1d4f5492a
--- /dev/null
+++ b/www/src/Locales/ko-KR/AddonsConfig.jsx
@@ -0,0 +1,172 @@
+export default {
+ 'header-text': 'Add-Ons 설정',
+ 'sub-header-text':
+ '아래의 폼에서 GP2040-CE의 Add-on에 관한 설정을 할 수 있습니다.',
+ 'bootsel-header-text': 'BOOTSEL 버튼 설정',
+ 'bootsel-sub-header-text':
+ '주의사항 : 버튼이 할당 되어 있는 경우 OLED 반응이 나빠질 가능성이 있습니다. 원래대로 되돌릴려면 해제해주세요',
+ 'bootsel-button-pin-label': 'BOOTSEL 버튼',
+ 'on-board-led-configuration-label': '온 보드 LED 설정',
+ 'on-board-led-mode-label': 'LED 모드',
+ 'on-board-led-mode-option-0': '오프',
+ 'on-board-led-mode-option-1': '모드 인디케이터',
+ 'on-board-led-mode-option-2': '입력 테스트',
+ 'on-board-led-mode-option-3': 'PS4/5 인증',
+ 'analog-header-text': '아날로그',
+ 'analog-warning':
+ '주의: 아날로그 스틱 설정은 게임 패드의 왼쪽 스틱과 오른쪽 스틱의 입력을 덮어씁니다',
+ 'analog-available-pins-text': '이용 가능 단자 : {{pins}}',
+ 'analog-available-pins-option-not-set': '없음',
+ 'analog-adc-1-pin-x-label': '아날로그 스틱 1 X 단자',
+ 'analog-adc-1-pin-y-label': '아날로그 스틱 1 Y 단자',
+ 'analog-adc-1-mode-label': '아날로그 스틱 1 모드',
+ 'analog-adc-1-invert-label': '아날로그 스틱 1 반전',
+ 'analog-adc-2-pin-x-label': '아날로그 스틱 2 X 단자',
+ 'analog-adc-2-pin-y-label': '아날로그 스틱 2 Y 단자',
+ 'analog-adc-2-mode-label': '아날로그 스틱 2 모드',
+ 'analog-adc-2-invert-label': '아날로그 스틱 2 반전',
+ 'analog-force-circularity': '강제로 원형을 유지',
+ 'inner-deadzone-size': '내부 데드존(%)',
+ 'outer-deadzone-size': '외부 데드존(%)',
+ 'analog-auto-calibrate': '자동 조절',
+ 'analog-smoothing': '아날로그 스무딩',
+ 'smoothing-factor': '스무딩 강도',
+ 'analog-error-label': '오차율',
+ 'turbo-header-text': '터보',
+ 'turbo-button-pin-label': '터보 버튼 단자',
+ 'turbo-led-pin-label': '터보LED단자',
+ 'turbo-shmup-dial-pin-label': '터보 다이얼 (ADC)',
+ 'turbo-shot-count-label': '연사 속도',
+ 'turbo-shmup-mode-label': 'SHMUP 모드',
+ 'turbo-shmup-always-on-1-label': '터보 항상켜짐 1',
+ 'turbo-shmup-always-on-2-label': '터보 항상켜짐 2',
+ 'turbo-shmup-always-on-3-label': '터보 항상켜짐 3',
+ 'turbo-shmup-always-on-4-label': '터보 항상켜짐 4',
+ 'turbo-shmup-button-1-label': '차지 버튼 1 단자',
+ 'turbo-shmup-button-2-label': '차지 버튼 2 단자',
+ 'turbo-shmup-button-3-label': '차지 버튼 3 단자',
+ 'turbo-shmup-button-4-label': '차지 버튼 4 단자',
+ 'turbo-shmup-button-mask-1-label': '차지 버튼 1 할당',
+ 'turbo-shmup-button-mask-2-label': '차지 버튼 2 할당',
+ 'turbo-shmup-button-mask-3-label': '차지 버튼 3 할당',
+ 'turbo-shmup-button-mask-4-label': '차지 버튼 4 할당',
+ 'turbo-shmup-mix-mode-label': '동시 우선 모드',
+ 'joystick-selection-slider-header-text': '십자키 선택 슬라이더',
+ 'joystick-selection-slider-mode-zero-label': '슬라이더 단자 표준 모드',
+ 'input-reverse-header-text': '입력반전',
+ 'input-reverse-button-pin-label': '입력단자반전',
+ 'input-reverse-led-pin-label': '입력키 LED단자반전',
+ 'input-reverse-action-up-label': '위 방향 반전',
+ 'input-reverse-action-down-label': '아래 방향 반전',
+ 'input-reverse-action-left-label': '좌측 방향 반전',
+ 'input-reverse-action-right-label': '우측 방향반전',
+ 'reverse-action-disable-label': '무효',
+ 'reverse-action-enable-label': '유효',
+ 'reverse-action-neutral-label': '중립',
+ 'i2c-analog-ads1219-header-text': 'I2C A/D변환 ADS1219',
+ 'i2c-analog-ads1219-scl-pin-label': 'I2C A/D변환 ADS1219 SCL 단자',
+ 'i2c-analog-ads1219-sda-pin-label': 'I2C A/D변환 ADS1219 SDA 단자',
+ 'i2c-analog-ads1219-block-label': 'I2C A/D변환 ADS1219 블럭',
+ 'i2c-analog-ads1219-speed-label': 'I2C A/D변환 ADS1219 속도',
+ 'i2c-analog-ads1219-address-label': 'I2C A/D변환 ADS1219 주소',
+ 'dual-directional-input-header-text': '이중 방향 입력',
+ 'dual-directional-input-dpad-mode-label': '이중 방향 입력모드',
+ 'dual-directional-input-combine-mode-label': '조합 모드',
+ 'dual-directional-input-four-way-joystick-mode-label':
+ '이중 방향 입력 4방향 조이스틱 모드',
+ 'tilt-header-text': '틸트 입력',
+ 'tilt-1-pin-label': '틸트1단자',
+ 'tilt-1-factor-left-x-label': '틸트1왼쪽 X축 비율',
+ 'tilt-1-factor-left-y-label': '틸트1왼쪽 Y축 비율',
+ 'tilt-1-factor-right-x-label': '틸트1오른쪽 X축 비율',
+ 'tilt-1-factor-right-y-label': '틸트1오른쪽 Y축 비율',
+ 'tilt-2-pin-label': '틸트2단자',
+ 'tilt-2-factor-left-x-label': '틸트2왼쪽 X축 비율',
+ 'tilt-2-factor-left-y-label': '틸트2왼쪽 Y축 비율',
+ 'tilt-2-factor-right-x-label': '틸트2오른쪽 X축 비율',
+ 'tilt-2-factor-right-y-label': '틸트2오른쪽 Y축 비율',
+ 'tilt-left-analog-up-pin-label': '틸트 왼쪽 아날로그 Up단자',
+ 'tilt-left-analog-down-pin-label': '틸트 왼쪽 아날로그 Down단자',
+ 'tilt-left-analog-left-pin-label': '틸트 왼쪽 아날로그 Left단자',
+ 'tilt-left-analog-right-pin-label': '틸트 왼쪽 아날로그 Right단자',
+ 'tilt-right-analog-up-pin-label': '틸트 오른쪽 아날로그 Up단자',
+ 'tilt-right-analog-down-pin-label': '틸트 오른쪽 아날로그 Down단자',
+ 'tilt-right-analog-left-pin-label': '틸트 오른쪽 아날로그 Left단자',
+ 'tilt-right-analog-right-pin-label': '틸트 오른쪽 아날로그 Right단자',
+ 'tilt-socd-mode-label': '틸트SOCD모드',
+ 'buzzer-speaker-header-text': '경고음 스피커',
+ 'buzzer-speaker-pin-label': '경고음 단자',
+ 'buzzer-speaker-enable-pin-label': '경고음 유효화 단자',
+ 'buzzer-speaker-volume-label': '경고음 볼류',
+ 'player-number-header-text': '플레이어 번호 (X-INPUT만)',
+ 'player-number-sub-header': '경고',
+ 'player-number-sub-header-text':
+ '이 옵션은 동시에 플레이어 번호를 유효화한 복수의 GP2040-CE 디바이스 연결할 경우에 사용해주세요,',
+ 'player-number-label': '플레이어 번호',
+ 'socd-cleaning-mode-selection-slider-header-text':
+ 'SOCD 클리너 모드 선택 슬라이더',
+ 'socd-cleaning-mode-selection-slider-sub-header-text':
+ '주의:PS4、PS3또는 닌텐도 스위치 모드 에서는 SOCD 클리너 모드 Off는 불가능하며 SOCD 중립 설정이 됩니다.',
+ 'socd-cleaning-mode-selection-slider-mode-default-label':
+ 'SOCD 클리너 표준 모드',
+ 'ps4-mode-sub-header': '면책조항',
+ 'ps4-mode-sub-header-text':
+ '어떠한 경우에도 GP2040-CE에서는 아래의 파일을 제공하지 않습니다!',
+ 'ps4-mode-text':
+ 'PS4모드를 이용할 떄에는 아래의 3종류의 파일을 업로드하여 [검증 & 저장]을 클릭해주세요.',
+ 'ps4-mode-private-key-label': 'Private Key (PEM)',
+ 'ps4-mode-serial-number-label': '시리얼 번호 (16바이트의 16진수 ASCII)',
+ 'ps4-mode-signature-label': '서명파일 (256바이트 바이너리)',
+ 'snes-extension-header-text': '슈퍼 패미콤 확장 설정',
+ 'snes-extension-sub-header-text':
+ '<0>주의 :디스플레이가 동시에 활성화되면 이 애드온이 비활성화됩니다0> <1>현재 지원되는 컨트롤러1> <0>슈퍼 패미콤 컨트롤러(SNES):십자키 대응응、B = B1, A = B2, Y = B3, X = B4, L = L1, R = R1, Select = S1, Start = S20> <0>슈퍼 패미콤 마우스: 아날로그 스틱 대응. 좌 클릭 = B1, 우 클릭 = B20> <0>패미콤(NES): 십자키 대응、 B = B1, A = B2, Select = S1, Start = S20>',
+ 'snes-extension-clock-pin-label': 'Clock 단자',
+ 'snes-extension-latch-pin-label': 'Latch 단자',
+ 'snes-extension-data-pin-label': 'Data 단자',
+ 'focus-mode-header-text': '포커스 모드 설정',
+ 'focus-mode-pin-label': '포커스 모드 단자',
+ 'keyboard-host-header-text': '키보드 호스트 설정',
+ 'keyboard-host-sub-header-text':
+ '이하의폼에서 버튼과 키의 할당을 설정해주세요.',
+ 'keyboard-host-mouse-header-text': '마우스 버튼',
+ 'keyboard-host-left-mouse': '좌측 버튼',
+ 'keyboard-host-middle-mouse': '가운데 버튼',
+ 'keyboard-host-right-mouse': '우측 버튼',
+ 'pin-config-moved-to-core-text':
+ '주의:이 Add-on 에 관한 단자설정은 단자 할당 설정 페이지로 이동하였습니댜.',
+ 'input-history-header-text': '입력이력',
+ 'input-history-length-label': '이력 길이',
+ 'input-history-col-label': '열',
+ 'input-history-row-label': '행',
+ 'analog1256-header-text': 'A/D변환 ADS1256 (SPI)',
+ 'analog1256-block-label': 'SPI 블럭',
+ 'analog1256-cs-pin': 'Chip Select (CS) 단자',
+ 'analog1256-drdy-pin': 'Data Ready (DRDY) 단자',
+ 'analog1256-analog-max': '최대 입력 전압',
+ 'analog1256-enable-triggers': '트리거 유효화',
+ 'joystick-selection-slider-mode-0': '십자키',
+ 'joystick-selection-slider-mode-1': '좌측 아날로그',
+ 'joystick-selection-slider-mode-2': '우측 아날로그',
+ 'dual-directional-input-dual-dpad-mode-0': '십자키',
+ 'dual-directional-input-dual-dpad-mode-1': '좌측 아날로그',
+ 'dual-directional-input-dual-dpad-mode-2': '우측 아날로그',
+ 'dual-directional-input-combine-mode-0': '믹스',
+ 'dual-directional-input-combine-mode-1': '게임패드 덮어쓰기',
+ 'dual-directional-input-combine-mode-2': 'DDI 덮어쓰기',
+ 'dual-directional-input-combine-mode-3': '없음',
+ 'socd-slider-mode-0': '위 우선',
+ 'socd-slider-mode-1': '중립',
+ 'socd-slider-mode-2': '후 입력 우선',
+ 'socd-slider-mode-3': '선 입력 우선',
+ 'socd-slider-mode-4': 'SOCD클리너 무효',
+ 'tilt-socd-mode-0': '위 우선',
+ 'tilt-socd-mode-1': '중립',
+ 'tilt-socd-mode-2': '후 입력우선',
+ 'drv8833-rumble-header-text': 'DRV8833 진동기능설정',
+ 'drv8833-rumble-left-motor-pin-label': '좌측 진동 모터 단자',
+ 'drv8833-rumble-right-motor-pin-label': '우측 진동 모터 단자',
+ 'drv8833-rumble-motor-sleep-pin-label': '모터 슬립 단자',
+ 'drv8833-rumble-pwm-frequency-label': 'PWM 주파수',
+ 'drv8833-rumble-duty-min-label': '최소 듀티 사이클',
+ 'drv8833-rumble-duty-max-label': '최대 듀티 사이클',
+};
diff --git a/www/src/Locales/ko-KR/BackupPage.jsx b/www/src/Locales/ko-KR/BackupPage.jsx
new file mode 100644
index 000000000..84c392e81
--- /dev/null
+++ b/www/src/Locales/ko-KR/BackupPage.jsx
@@ -0,0 +1,17 @@
+export default {
+ 'pin-version-warning-text': 'v0.7.6 이전 설정파일의 핀 매핑은 효과가 없습니다.',
+ 'saved-success-message': '{{name}} 으로 저장 완료',
+ 'save-header-text': '파일에 백업',
+ 'save-export-option-label': '{{api}}옵션을 내보내기',
+ 'load-header-text': '파일로 부터 복원',
+ 'load-export-option-label': '{{api}} 옵션을 가져오기',
+ 'api-display-text': '디스플레이',
+ 'api-gamepad-text': '게임패드',
+ 'api-led-text': 'LED',
+ 'api-ledTheme-text': '커스텀 LED 테마',
+ 'api-macros-text': '매크로 버튼 할당',
+ 'api-pins-text': '단자 할장',
+ 'api-profiles-text': '프로파일 버튼 할당',
+ 'api-addons-text': '애드온',
+ 'api-splash-text': '스플래쉬 화면',
+};
diff --git a/www/src/Locales/ko-KR/CaptureButton.jsx b/www/src/Locales/ko-KR/CaptureButton.jsx
new file mode 100644
index 000000000..d9be2e517
--- /dev/null
+++ b/www/src/Locales/ko-KR/CaptureButton.jsx
@@ -0,0 +1,7 @@
+export default {
+ 'capture-button-button-label': '컨트롤러 단자를 할당',
+ 'capture-button-modal-title': '버튼 입력 대기:',
+ 'capture-button-modal-content': '컨트롤러의 버튼을 눌러주세요.',
+ 'capture-button-modal-skip': '버튼 스킵',
+ 'capture-button-modal-stop': '설정 정지',
+};
diff --git a/www/src/Locales/ko-KR/Common.jsx b/www/src/Locales/ko-KR/Common.jsx
new file mode 100644
index 000000000..7d7fbde05
--- /dev/null
+++ b/www/src/Locales/ko-KR/Common.jsx
@@ -0,0 +1,29 @@
+export default {
+ 'brand-text': 'GP2040-CE',
+ 'button-clear-all-label': '모두 제거',
+ 'button-delete-color-label': '색을 제거',
+ 'button-dismiss-label': '닫기',
+ 'button-load-label': '읽기',
+ 'button-reset-settings-label': '설정을 초기화',
+ 'button-save-color-label': '색을 저장',
+ 'button-save-label': '저장',
+ 'button-set-all-to-color-label': '모든 색을 설정',
+ 'button-set-gradient-label': '그라데이션 설정',
+ 'button-set-pressed-gradient-label': '누른 상태의 그라데이션 설정',
+ 'button-verify-save-label': '검증하여 저장',
+ 'saved-success-message': '저장완료! 컨트롤러를 재기동 해주세요.',
+ 'saved-error-message': '저장실패.. 저장하지 못했습니다...',
+ errors: {
+ required: '필수',
+ conflict: '충돌',
+ invalid: '무효',
+ used: '사용중',
+ 'validation-error': '유효성 검사 오류, 위를 참조하세요',
+ },
+ 'switch-enabled': '유효화',
+ 'lock-oled-screen': 'OLED 디스플레이 잠그기',
+ 'lock-rgb-led': 'RGB LED 잠그기',
+ 'lock-macro': '매크로 잠그기',
+ 'lock-buttons': '버튼 잠그기',
+ 'loading-text': '로딩중..',
+};
diff --git a/www/src/Locales/ko-KR/Components.jsx b/www/src/Locales/ko-KR/Components.jsx
new file mode 100644
index 000000000..90829a099
--- /dev/null
+++ b/www/src/Locales/ko-KR/Components.jsx
@@ -0,0 +1,21 @@
+export default {
+ 'language-selector': {
+ en: 'English (영어)',
+ nl: 'Nederlands (네덜란드어)',
+ 'pt-BR': 'Português Brasil (브라질 포르투칼어)',
+ 'zh-CN': '简体中文 (중국어 간체자)',
+ 'de-DE': 'Deutsch (독일어)',
+ 'ja-JP': '日本語 (일본어)',
+ 'ko-KR': '한국어 (Korean)',
+ },
+ 'color-scheme': {
+ dark: '다크',
+ light: '라이트',
+ auto: '자동',
+ },
+ 'keyboard-mapper': {
+ 'key-header': '키',
+ 'error-conflict': '{{key}} 키는 이미 할당되어 있습니다.',
+ 'error-invalid': '이 보드에서는 {{key}} 는 사용 할 수 없습니다.',
+ },
+};
diff --git a/www/src/Locales/ko-KR/CustomTheme.jsx b/www/src/Locales/ko-KR/CustomTheme.jsx
new file mode 100644
index 000000000..ba97018f3
--- /dev/null
+++ b/www/src/Locales/ko-KR/CustomTheme.jsx
@@ -0,0 +1,14 @@
+export default {
+ 'header-text': '커스텀 LED 테마',
+ 'sub-header-text':
+ '여기서 커스텀 LED 테마 설정을 할 수 있습니다.
커스텀 테마는 컨트롤러 에니메이션 숏컷에서 선택 할 수 있습니다.',
+ 'list-text':
+ '<1>버튼을 클릭하여 일반 및 눌린 상태의 색상 선택창을 엽니다1> <1>컨트롤러 배경을 클릭하여 색상 선택창을 닫습니다.1> <1>버튼을 오른쪽 클릭하여 버튼의 눌린 상태 색상을 미리 봅니다.1>',
+ 'led-layout-label': '레이아웃 확인',
+ 'color-picker-location': '색상 선택기 위치',
+ 'has-custom-theme-label': '유효',
+ 'modal-title': '커스텀 테마 삭제 확인',
+ 'modal-body': '정말로 커스텀 테마 설정을 삭제 하시겠습니까?',
+ 'modal-no': '아니오',
+ 'modal-yes': '네',
+};
diff --git a/www/src/Locales/ko-KR/DisplayConfig.jsx b/www/src/Locales/ko-KR/DisplayConfig.jsx
new file mode 100644
index 000000000..be7cc43ae
--- /dev/null
+++ b/www/src/Locales/ko-KR/DisplayConfig.jsx
@@ -0,0 +1,47 @@
+
+export default {
+ 'header-text': '디스플레이 설정',
+ 'sub-header-text':
+ '모노크롬 모니터를 사용하여 컨트롤러의 상태와 버튼 작동 상태를 표시할 수 있습니다. 사용 중인 디스플레이가 다음 요구 사항을 충족하는지 확인하세요.:',
+ 'list-text':
+ '<1>해상도 128x64의 모노크롬 모니터1> <1>SSD1306, SH1106, SH1107 중 하나 또는 호환 가능한 I2C 디스플레이 IC를 채용1> <1>3.3v 에서의 동작에 대응1>',
+ section: {
+ 'hardware-header': '하드웨어 설정',
+ 'screen-header': '스크린 설정',
+ 'layout-header': '레이아웃 설정',
+ },
+ table: {
+ header:
+ '아래의 표를 참조하여 SDA와 SCL단자 할당부터 사용 I2C 블럭을 확인해주세요',
+ 'sda-scl-pins-header': 'SDA/SCL 단자',
+ 'i2c-block-header': 'I2C 블럭',
+ },
+ form: {
+ 'i2c-block-label': 'I2C블럭',
+ 'sda-pin-label': 'SDA단자',
+ 'scl-pin-label': 'SCL단자',
+ 'i2c-address-label': 'I2C 주소',
+ 'i2c-speed-label': 'I2C 속도',
+ 'flip-display-label': '표시 반전',
+ 'invert-display-label': '흑백 반전',
+ 'button-layout-label': '버튼 레이아웃(좌)',
+ 'button-layout-right-label': '버튼 레이아웃(우)',
+ 'button-layout-custom-header': '커스텀 버튼 레이아웃 매개변수',
+ 'button-layout-custom-left-label': '좌측 레이아웃',
+ 'button-layout-custom-right-label': '우측 레이아웃',
+ 'button-layout-custom-start-x-label': 'X좌표 시작 위치',
+ 'button-layout-custom-start-y-label': 'Y좌표 시작 위치',
+ 'button-layout-custom-button-radius-label': '버튼 반경',
+ 'button-layout-custom-button-padding-label': '버튼 내부여백',
+ 'splash-mode-label': '스플래쉬 모드',
+ 'splash-duration-label': '스플래쉬 표시 시간 (초, 0이면 항상켜짐)',
+ 'display-saver-timeout-label': '화면보호기 타임아웃 시간 (분)',
+ 'inverted-label': '흑백반전',
+ 'power-management-header': '전원 관리',
+ 'turn-off-when-suspended': '서스펜드 중에 OFF로 설정',
+ 'flip-display-none': '없음',
+ 'flip-display-flip': '180도 회전',
+ 'flip-display-mirror': '좌우 반전',
+ 'flip-display-flip-mirror': '회전하여 좌우반전',
+ },
+};
diff --git a/www/src/Locales/ko-KR/HomePage.jsx b/www/src/Locales/ko-KR/HomePage.jsx
new file mode 100644
index 000000000..3caca8b29
--- /dev/null
+++ b/www/src/Locales/ko-KR/HomePage.jsx
@@ -0,0 +1,14 @@
+export default {
+ 'current-text': '버전: {{version}}',
+ 'get-update-text': '최신 버전을 다운로드',
+ 'header-text': 'GP2040-CE Web Configurator 에 오신걸 환영합니다.',
+ 'latest-text': '최신버전: {{version}}',
+ 'memory-flash-text': '플래쉬',
+ 'memory-board-text': '기판 플래시',
+ 'memory-header-text': '메모리(KB)',
+ 'memory-heap-text': '힙',
+ 'memory-static-allocations-text': '할당중인 메모리',
+ 'sub-header-text': '메뉴에서 사용할 옵션을 선택하세요。',
+ 'system-stats-header-text': '시스템 정보',
+ 'version-text': '버전',
+};
diff --git a/www/src/Locales/ko-KR/Index.jsx b/www/src/Locales/ko-KR/Index.jsx
new file mode 100644
index 000000000..743d868a7
--- /dev/null
+++ b/www/src/Locales/ko-KR/Index.jsx
@@ -0,0 +1,43 @@
+import Common from './Common';
+import HomePage from './HomePage';
+import Navigation from './Navigation';
+import SettingsPage from './SettingsPage';
+import ResetSettings from './ResetSettings';
+import Components from './Components';
+import PinMapping from './PinMapping';
+import PeripheralMapping from './PeripheralMapping';
+import LedConfig from './LedConfig';
+import CustomTheme from './CustomTheme';
+import BackupPage from './BackupPage';
+import DisplayConfig from './DisplayConfig';
+import AddonsConfig from './AddonsConfig';
+import CaptureButton from './CaptureButton';
+import WiiAddon from './Addons/WiiAddon';
+import Rotary from './Addons/Rotary';
+import PCF8575 from './Addons/PCF8575';
+import ReactiveLED from './Addons/ReactiveLED';
+import InputMacroAddon from './InputMacroAddon';
+import LayoutConfig from './LayoutConfig';
+
+export default {
+ Common,
+ HomePage,
+ Navigation,
+ SettingsPage,
+ ResetSettings,
+ Components,
+ PinMapping,
+ PeripheralMapping,
+ LedConfig,
+ CustomTheme,
+ BackupPage,
+ DisplayConfig,
+ AddonsConfig,
+ CaptureButton,
+ WiiAddon,
+ Rotary,
+ InputMacroAddon,
+ LayoutConfig,
+ PCF8575,
+ ReactiveLED,
+};
diff --git a/www/src/Locales/ko-KR/InputMacroAddon.jsx b/www/src/Locales/ko-KR/InputMacroAddon.jsx
new file mode 100644
index 000000000..da04a709c
--- /dev/null
+++ b/www/src/Locales/ko-KR/InputMacroAddon.jsx
@@ -0,0 +1,39 @@
+export default {
+ 'input-macro-board-led-enabled':
+ '컨트롤러의 LED을 사용하여 매크로 상태를 표시',
+ 'input-macro-macro-enabled': '활성화',
+ 'input-macro-macro-enabled-badge': '활성화',
+ 'input-macro-macro-disabled-badge': '비활성화',
+ 'input-macro-macro-exclusive': '배타(다른 매크로로 전환 불가)"',
+ 'input-macro-macro-interruptible': '인터럽트(유저조작으로 매크로 중단)',
+ 'input-macro-macro-show-frames': '프레임 표시 (1 프레임 = 16.666 ms)',
+ 'input-macro-macro-uses-buttons':
+ '작동에 매크로 버튼 + 컨트롤러 버튼을 사용',
+ 'input-macro-macro-button-pin-plus': '버튼 할당:',
+ 'input-macro-header-text': '매크로 개요',
+ 'input-macro-macro-list-txt': '매크로 {{macroNumber}} 설정',
+ 'input-macro-duration-label': '지속시간',
+ 'input-macro-wait-duration-label': '대기시간',
+ 'input-macro-time-label-ms': '밀리초',
+ 'input-macro-time-label-frames': '프레임',
+ 'input-macro-release-and-wait-label': '때고 대기 ',
+ 'input-macro-sub-header':
+ '주의:단자에 할당된 매크로에 대해서는 단자 할당 페이지에서 설정을 확인해주세요. 매크로는 컨트롤러의 버튼과 특정 매크로 버튼의 조합에 할당할 수 있습니다',
+ 'input-macro-macro-label-label': '라벨',
+ 'input-macro-add-input-label': '입력추가 +',
+ 'input-macro-type': {
+ press: '누르기',
+ 'hold-repeat': '길게 누르기',
+ toggle: '전환',
+ },
+ 'macro-name': '매크로 이름',
+ 'macro-activation-type': '매크로 실행 방식',
+ 'table-thread-label': '매크로 이름',
+ 'table-thread-type': '매크로 실행 방식',
+ 'table-thread-assigned-to': '할당 한 핀',
+ 'table-thread-button': '버튼',
+ 'table-thread-actions': '입력수',
+ 'table-thread-status': '스테이터스',
+ 'input-macro-macro-trigger-type-button': '버튼',
+ 'input-macro-macro-trigger-type-pin': '단자',
+};
diff --git a/www/src/Locales/ko-KR/LayoutConfig.jsx b/www/src/Locales/ko-KR/LayoutConfig.jsx
new file mode 100644
index 000000000..c9a428520
--- /dev/null
+++ b/www/src/Locales/ko-KR/LayoutConfig.jsx
@@ -0,0 +1,74 @@
+export default {
+ 'header-text': '레이아웃 설정',
+ 'layout-left-header-text': '좌측 레이아웃',
+ 'layout-right-header-text': '우측 레이아웃',
+ layouts: {
+ left: {
+ BUTTON_LAYOUT_STICK: '레버',
+ BUTTON_LAYOUT_STICKLESS: '레버 리스',
+ BUTTON_LAYOUT_BUTTONS_ANGLED: '각진 버튼',
+ BUTTON_LAYOUT_BUTTONS_BASIC: '표준 버튼',
+ BUTTON_LAYOUT_KEYBOARD_ANGLED: '각진 키보드',
+ BUTTON_LAYOUT_KEYBOARDA: '키보드',
+ BUTTON_LAYOUT_DANCEPADA: '댄스 패드',
+ BUTTON_LAYOUT_TWINSTICKA: '트윈 스틱',
+ BUTTON_LAYOUT_BLANKA: '비표시',
+ BUTTON_LAYOUT_VLXA: 'VLX',
+ BUTTON_LAYOUT_FIGHTBOARD_MIRRORED: 'Fightboard (좌우반전)',
+ BUTTON_LAYOUT_CUSTOM: '커스텀',
+ BUTTON_LAYOUT_STICKLESS_13: '레버 리스 13',
+ BUTTON_LAYOUT_STICKLESS_16: '레버 리스 16',
+ BUTTON_LAYOUT_STICKLESS_R16: '레버 리스 R16',
+ BUTTON_LAYOUT_STICKLESS_14: '레버 리스 14',
+ BUTTON_LAYOUT_DANCEPAD_DDR_LEFT: 'DDR 댄스패드(좌측)',
+ BUTTON_LAYOUT_DANCEPAD_DDR_SOLO: 'DDR 댄스패드(솔로)',
+ BUTTON_LAYOUT_DANCEPAD_PIU_LEFT: 'PIU 댄스패드(좌측)',
+ BUTTON_LAYOUT_POPN_A: 'Popn (우측)',
+ BUTTON_LAYOUT_TAIKO_A: '태고',
+ BUTTON_LAYOUT_BM_TURNTABLE_A: 'Beatmania 턴 테이블',
+ BUTTON_LAYOUT_BM_5KEY_A: 'Beatmania 5 Key (좌측)',
+ BUTTON_LAYOUT_BM_7KEY_A: 'Beatmania 7 Key (좌측)',
+ BUTTON_LAYOUT_GITADORA_FRET_A: '기타도라 플랫',
+ BUTTON_LAYOUT_GITADORA_STRUM_A: '기타도라 스트럼',
+ BUTTON_LAYOUT_CUSTOMA: '커스텀',
+ BUTTON_LAYOUT_6GAWD_A: '6GAWD (좌측)',
+ BUTTON_LAYOUT_6GAWD_ALLBUTTON_A: '6GAWD All Button (좌측)',
+ BUTTON_LAYOUT_6GAWD_ALLBUTTONPLUS_A: '6GAWD All Button Pinky (좌측)',
+ },
+ right: {
+ BUTTON_LAYOUT_ARCADE: '아케이드',
+ BUTTON_LAYOUT_STICKLESSB: '레버 리스',
+ BUTTON_LAYOUT_BUTTONS_ANGLEDB: '각진 버튼',
+ BUTTON_LAYOUT_VEWLIX: '뷰릭스',
+ BUTTON_LAYOUT_VEWLIX7: '뷰릭스 7',
+ BUTTON_LAYOUT_CAPCOM: '캡콤',
+ BUTTON_LAYOUT_CAPCOM6: '캡콤 6',
+ BUTTON_LAYOUT_SEGA2P: '세가 2P',
+ BUTTON_LAYOUT_NOIR8: 'Noir 8',
+ BUTTON_LAYOUT_KEYBOARDB: '키보드',
+ BUTTON_LAYOUT_DANCEPADB: '댄스패드',
+ BUTTON_LAYOUT_TWINSTICKB: '트윈 스틱',
+ BUTTON_LAYOUT_BLANKB: '비표시',
+ BUTTON_LAYOUT_FIGHTBOARD_STICK_MIRRORED: 'Fightboard (좌우반전)',
+ BUTTON_LAYOUT_CUSTOM: '커스텀',
+ BUTTON_LAYOUT_KEYBOARD8B: '키보드 8',
+ BUTTON_LAYOUT_STICKLESS_13B: '레버 리스 13',
+ BUTTON_LAYOUT_STICKLESS_16B: '레버 리스 16',
+ BUTTON_LAYOUT_STICKLESS_R16B: '레버 리스 R16',
+ BUTTON_LAYOUT_STICKLESS_14B: '레버 리스 14',
+ BUTTON_LAYOUT_DANCEPAD_DDR_RIGHT: 'DDR 댄스패드(우측)',
+ BUTTON_LAYOUT_DANCEPAD_PIU_RIGHT: 'PIU 댄스패드(우측)',
+ BUTTON_LAYOUT_POPN_B: 'Popn (우측)',
+ BUTTON_LAYOUT_TAIKO_B: '태고',
+ BUTTON_LAYOUT_BM_TURNTABLE_B: 'Beatmania 턴 테이블 (우측)',
+ BUTTON_LAYOUT_BM_5KEY_B: 'Beatmania 5 Key (우측)',
+ BUTTON_LAYOUT_BM_7KEY_B: 'Beatmania 7 Key (우측)',
+ BUTTON_LAYOUT_GITADORA_FRET_B: '기타도라 플랫',
+ BUTTON_LAYOUT_GITADORA_STRUM_B: '기타도라 스트럼',
+ BUTTON_LAYOUT_CUSTOMB: '커스텀',
+ BUTTON_LAYOUT_6GAWD_B: '6GAWD (우측)',
+ BUTTON_LAYOUT_6GAWD_ALLBUTTON_B: '6GAWD All Button (우측)',
+ BUTTON_LAYOUT_6GAWD_ALLBUTTONPLUS_B: '6GAWD All Button Pinky (우측)',
+ },
+ },
+};
diff --git a/www/src/Locales/ko-KR/LedConfig.jsx b/www/src/Locales/ko-KR/LedConfig.jsx
new file mode 100644
index 000000000..53c1841b1
--- /dev/null
+++ b/www/src/Locales/ko-KR/LedConfig.jsx
@@ -0,0 +1,35 @@
+export default {
+ rgb: {
+ 'header-text': 'RGB LED 설정',
+ 'data-pin-label': '데이터 단자 (-1 로 비활성)',
+ 'led-format-label': 'LED 포맷',
+ 'led-layout-label': 'LED 레이아웃',
+ 'leds-per-button-label': '버튼당 LED수',
+ 'led-brightness-maximum-label': '최대 밝기',
+ 'led-brightness-steps-label': '밝기 스택',
+ },
+ player: {
+ 'header-text': '플레이어LED (XInput)',
+ 'pwm-sub-header-text':
+ 'PWM LED의 경우에는 각 LED에 전용 GPIO 핀을 할당해 주세요',
+ 'rgb-sub-header-text':
+ 'RGB LED 의 경우 <1>RGB LED버튼 순서1>에서 설정한 마지막 LED 버튼 다음의 값으로 설정해 주세요. <3>{{rgbLedStartIndex}}에서 시작3>',
+ 'pled-type-label': '플레이어LED 타입',
+ 'pled-type-off': '오프',
+ 'pled-type-pwm': 'PWM',
+ 'pled-type-rgb': 'RGB',
+ 'pled-color-label': 'RGB PLED 컬러',
+ },
+ 'pled-pin-label': 'PLED #{{pin}} 단자',
+ 'pled-index-label': 'PLED #{{index}} 인덱스',
+ 'rgb-order': {
+ 'header-text': 'RGB LED 버튼 순서',
+ 'sub-header-text':
+ '여기에서는 어떤 버튼에 RGB LED가 이 기능이 구현되어 있는지 및 제어 기판에서 어떤 순서로 배선되어 있는지를 설정할 수 있습니다. 이 설정은 일부 LED 애니메이션이나 정적 테마 기능에서 사용됩니다',
+ 'sub-header1-text':
+ '아이템을 드래그 앤 드롭하여 순서를 변경하고 RGB LED의 활성화 및 순서를 설정하세요.',
+ 'available-header-text': '사용 가능 버튼',
+ 'assigned-header-text': '할당 된 버튼',
+ },
+ 'turn-off-when-suspended': '일시정지중 off 하기',
+};
diff --git a/www/src/Locales/ko-KR/Navigation.jsx b/www/src/Locales/ko-KR/Navigation.jsx
new file mode 100644
index 000000000..9ed85aa80
--- /dev/null
+++ b/www/src/Locales/ko-KR/Navigation.jsx
@@ -0,0 +1,28 @@
+export default {
+ 'add-ons-label': 'Add-Ons 설정',
+ 'backup-label': '데이터 백업 and 복원',
+ 'config-label': '구성 설정',
+ 'custom-theme-label': '커스텀 LED 테마',
+ 'display-config-label': '디스플레이 설정',
+ 'docs-label': '공식 사이트',
+
+ 'home-label': '홈',
+ 'led-config-label': 'LED 설정',
+ 'links-label': '링크',
+ 'macro-label': '매크로 설정',
+ 'pin-mapping-label': '단자 할당 설정',
+ 'multi-mapping-label': '멀티 매핑',
+ 'peripheral-mapping-label': '주변 기기 설정',
+ 'profile-settings-label': '프로파일 설정',
+ 'reboot-label': '재기동',
+ 'reboot-modal-body': '재기동하여 모드를 선택',
+ 'reboot-modal-button-bootsel-label': 'USB (BOOTSEL)',
+ 'reboot-modal-button-controller-label': '컨트롤러',
+ 'reboot-modal-button-web-config-label': '웹 설정',
+ 'reboot-modal-button-progress-label': '재기동 중…',
+ 'reboot-modal-button-success-label': '완료!',
+ 'reboot-modal-label': '재기동 하시겠습니까?',
+ 'reboot-modal-success': '재기동 완료 브라우저 탭을 닫아주세요',
+ 'resetSettings-label': '설정 초기화',
+ 'settings-label': '설정',
+};
diff --git a/www/src/Locales/ko-KR/PeripheralMapping.jsx b/www/src/Locales/ko-KR/PeripheralMapping.jsx
new file mode 100644
index 000000000..ede6613c6
--- /dev/null
+++ b/www/src/Locales/ko-KR/PeripheralMapping.jsx
@@ -0,0 +1,29 @@
+export default {
+ 'header-text': '주변 기기 설정',
+ 'sub-header-text':
+ '여기에서는 주변기기의 단자 할당 또는 동작에 관련된 설정을 할 수 있습니다',
+ 'pins-label': '단자',
+ 'pin-in-use': '할당완료',
+ 'i2c-desc-header': 'I\u00B2C 정보',
+ 'i2c-description':
+ 'I\u00B2C는 주변 장치 연결에 사용되는 SDA 라인과 SCL 라인을 이용한 2선식 통신 인터페이스로, 디스플레이, GPIO 확장, 센서 등에 사용됩니다. RP2040에서는 두 개의I\u00B2C블록을 지원합니다(I2C0과 I2C1). 아래의 핀들이 각 블록에서 사용할 수 있는 GPIO 핀입니다.',
+ 'spi-desc-header': 'SPI 정도',
+ 'spi-description':
+ 'SPI는 주변 장치 연결에 사용되는 RX, TX, 데이터 라인과 SCK 클럭 라인으로 구성된 4선식 통신 인터페이스로, 디스플레이, GPIO 확장, 센서 등에 사용됩니다. RP2040에서는 두 개의 SPI 컨트롤러 블록을 지원합니다(SPI0와 SPI1). 아래의 핀들이 각 블록에서 사용할 수 있는 GPIO 핀입니다',
+ 'usb-label': 'USB호스트',
+ 'usb-desc-header': 'USB호스트 정보',
+ 'usb-description':
+ 'USB 호스트 기능은 USB 클라이언트의 연결에 사용되며, 키보드, 게임 컨트롤러 등의 장치를 연결할 수 있습니다',
+ 'peripheral-toggle-unavailable':
+ '활성화 할 수 없습니다. 주변기기 {{name}} 는 이용 할 수 없습니다.<0>주변기기설정0>에서 활성화 해 주세요.',
+ 'pin-sda-label': 'SDA단자',
+ 'pin-scl-label': 'SCL단자',
+ 'option-speed-label': '속도',
+ 'pin-rx-label': 'RX단자',
+ 'pin-cs-label': 'CS단자',
+ 'pin-sck-label': 'SCK단자',
+ 'pin-tx-label': 'TX단자',
+ 'pin-dp-label': 'D+단자',
+ 'pin-enable5v-label': '5V활성화',
+ 'option-order-label': '단자순서',
+};
diff --git a/www/src/Locales/ko-KR/PinMapping.jsx b/www/src/Locales/ko-KR/PinMapping.jsx
new file mode 100644
index 000000000..9d2ce3298
--- /dev/null
+++ b/www/src/Locales/ko-KR/PinMapping.jsx
@@ -0,0 +1,70 @@
+export default {
+ 'header-text': '단자 할당 설정',
+ 'sub-header-text': '여기에서는 어떤 핀에 어떤 기능을 할당할지 설정할 수 있습니다. 어떤 버튼이 어떤 핀에 할당되어 있는지 모르겠다면 핀 확인 기능을 사용해 보세요',
+ 'alert-text':
+ '연결되지 않거나 구현되지 않은 핀에 할당 설정을 하면 컨트롤러가 작동하지 않는 상태가 될 수 있습니다. 잘못된 설정을 초기화하고 싶다면 <2>설정 초기화2> 페이지에서 초기화를 실행해 주세요.',
+ 'pin-viewer': '단자 확인',
+ 'pin-pressed': '이 버튼의 배선 대상은 {{pressedPin}} 번 단자 입니다,',
+ 'pin-header-label': '단자',
+
+ 'profile-label-title': '프로파일명',
+ 'profile-label-description': '최대 16문자',
+ 'profile-pin-mapping-title': '{{profileLabel}} - 단자할당',
+ 'profile-label-default': '프로파일 {{profileNumber}}',
+ 'profile-add-button': '+ 프로파일 추가',
+ 'profile-disabled': ' - (비활성화)',
+ 'profile-enabled-tooltip':
+ '비활성화된 프로파일은 핫키로 프로파일 변경 시 사용할 수 없습니다',
+ 'profile-pins-warning':
+ '프로파일 변경 핫키로 설정된 버튼이나 방향키의 설정 변경은 현재 프로파일 선택상황을 햇갈리게 할 수 있으므로 권장하지 않습니다',
+ 'profile-copy-base': 'Base 프로파일을 복사',
+ errors: {
+ conflict: '{{pin}} 번 단자에 이미 {{conflictedMappings}}에 할당 되어 있습니다.',
+ required: '{{button}}의 설정은 필수 입니다.',
+ invalid: '{{pin}}번 단자는 이 보드에서는 사용 할 수 없습니다.',
+ used: '{{pin}}번 단자는 이미 다른기능에 할당 되어 있습니다.',
+ },
+ actions: {
+ NONE: '없음',
+ RESERVED: '예약',
+ ASSIGNED_TO_ADDON: 'Add-on에 할당',
+ BUTTON_PRESS_UP: '위',
+ BUTTON_PRESS_DOWN: '아래',
+ BUTTON_PRESS_LEFT: '왼쪽',
+ BUTTON_PRESS_RIGHT: '오른쪽',
+ BUTTON_PRESS_FN: '펑션(FN)',
+ BUTTON_PRESS_DDI_UP: 'DDI 상',
+ BUTTON_PRESS_DDI_DOWN: 'DDI 하',
+ BUTTON_PRESS_DDI_LEFT: 'DDI 좌',
+ BUTTON_PRESS_DDI_RIGHT: 'DDI 우',
+ SUSTAIN_DP_MODE_DP: '십자키 모드: 십자키',
+ SUSTAIN_DP_MODE_LS: '십자키 모드: 좌측 아날로그',
+ SUSTAIN_DP_MODE_RS: '십자키 모드: 우측 아날로그',
+ SUSTAIN_SOCD_MODE_UP_PRIO: '위 우선 모드(SOCD 클리너)',
+ SUSTAIN_SOCD_MODE_NEUTRAL: '중립 모드(SOCD 클리너)',
+ SUSTAIN_SOCD_MODE_SECOND_WIN: '후 입력 우선 모드(SOCD 클리너)',
+ SUSTAIN_SOCD_MODE_FIRST_WIN: '선 입력 우선 모드(SOCD 클리너)',
+ SUSTAIN_SOCD_MODE_BYPASS: 'SOCD클리너 끄기',
+ BUTTON_PRESS_TURBO: '터보',
+ BUTTON_PRESS_MACRO: '매크로 버튼',
+ BUTTON_PRESS_MACRO_1: '매크로 1',
+ BUTTON_PRESS_MACRO_2: '매크로 2',
+ BUTTON_PRESS_MACRO_3: '매크로 3',
+ BUTTON_PRESS_MACRO_4: '매크로 4',
+ BUTTON_PRESS_MACRO_5: '매크로 5',
+ BUTTON_PRESS_MACRO_6: '매크로 6',
+ CUSTOM_BUTTON_COMBO: '멀티 맵핑에 할당됨',
+ BUTTON_PRESS_E1: 'Extra 1',
+ BUTTON_PRESS_E2: 'Extra 2',
+ BUTTON_PRESS_E3: 'Extra 3',
+ BUTTON_PRESS_E4: 'Extra 4',
+ BUTTON_PRESS_E5: 'Extra 5',
+ BUTTON_PRESS_E6: 'Extra 6',
+ BUTTON_PRESS_E7: 'Extra 7',
+ BUTTON_PRESS_E8: 'Extra 8',
+ BUTTON_PRESS_E9: 'Extra 9',
+ BUTTON_PRESS_E10: 'Extra 10',
+ BUTTON_PRESS_E11: 'Extra 11',
+ BUTTON_PRESS_E12: 'Extra 12',
+ },
+};
diff --git a/www/src/Locales/ko-KR/ResetSettings.jsx b/www/src/Locales/ko-KR/ResetSettings.jsx
new file mode 100644
index 000000000..395ea21c5
--- /dev/null
+++ b/www/src/Locales/ko-KR/ResetSettings.jsx
@@ -0,0 +1,6 @@
+export default {
+ 'header-text': '설정 초기화',
+ 'sub-header-text':
+ '<0 className="card-text"> 이 옵션은 컨트롤러에 저장되어 있던 모든 설정을 초기화합니다.0> <0 className="card-text">이 처리는 자동으로 컨트롤러를 재기동 합니다.0>',
+ 'confirm-text': '정말로 설정을 초기화 하시겠습니까?',
+};
diff --git a/www/src/Locales/ko-KR/SettingsPage.jsx b/www/src/Locales/ko-KR/SettingsPage.jsx
new file mode 100644
index 000000000..aef364391
--- /dev/null
+++ b/www/src/Locales/ko-KR/SettingsPage.jsx
@@ -0,0 +1,140 @@
+export default {
+ 'auth-settings-label': '기기 인증 설정',
+ 'no-mode-settings-text': '{{mode}}에 관한 설정항목은 없습니다',
+ 'settings-header-text': '입력 모드 설정',
+ 'gamepad-settings-header-text': '컨트롤러 설정',
+ 'input-mode-label': '입력 모드',
+ 'current-input-mode-label': '현재 입력 모드',
+ 'input-mode-extra-label': 'Switch 터치패드로 Share',
+ 'input-mode-options': {
+ none: '모드 미선택',
+ 'nintendo-switch': '닌텐도 Switch',
+ keyboard: '키보드',
+ mdmini: 'Sega Genesis/메가드라이브 Mini',
+ pcemini: 'PC엔진/Turbografx 16 Mini',
+ astro: '아스트로 시티 미니',
+ psclassic: '플레이스테이션 클래식',
+ xboxoriginal: '초대 Xbox',
+ },
+ 'input-mode-group': {
+ primary: '주 입력모드',
+ mini: 'Mini/Classic 콘솔 모드',
+ },
+ 'boot-input-mode-label': '재기동시 입력모드',
+ 'ps4-mode-options': {
+ controller: '컨트롤러',
+ arcadestick: '아케이드 스틱',
+ },
+ 'input-mode-authentication': {
+ none: '없음',
+ key: '인증키 업로드',
+ usb: 'USB호스트',
+ i2c: 'I2C설정',
+ },
+ 'd-pad-mode-label': '십자키 모드',
+ 'd-pad-mode-options': {
+ 'd-pad': '십자키',
+ 'left-analog': '왼쪽 아날로그',
+ 'right-analog': '오른쪽 아날로그',
+ },
+ 'socd-cleaning-mode-label': 'SOCD 클리닝 모드',
+ 'socd-cleaning-mode-note':
+ '주의:PS4、PS3、닌텐도Switch 또는 미니 콘솔 시리즈 모드에서는 SOCD 클리닝 모드 끄기 설정이 불가능하므로, 중립 SOCD 클리닝으로 설정됩니다.',
+ 'socd-cleaning-mode-options': {
+ 'up-priority': '위 우선',
+ neutral: '중립',
+ 'last-win': '후 입력 우선',
+ 'first-win': '선 입력 우선',
+ off: '끄기',
+ },
+ 'profile-label': '프로파일',
+ 'debounce-delay-label': '채터링 제거 딜레이(밀리 초)',
+ 'ps4-mode-explanation-text':
+ 'PS4모드는 GP2040-CE 컨트롤러를 인증된 PS4 컨트롤러로 기동 할 수 있습니다.',
+ 'ps4-mode-warning-text':
+ '⏳ 경고 ⏳: 인증이 없을 경우 PS4는 8분 후에 타임아웃되어 연결이 끊어집니다.(8분 인증)',
+ 'ps4-usb-host-mode-text':
+ '추가 설명: USB 주변 장치가 활성화되어 있으며, PS4와 호환되는 장치가 연결되어 있는지 확인하세요.',
+ 'ps4-id-mode-label': '식별 모드',
+ 'ps4-id-mode-explanation-text':
+ '