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>참고: 디스플레이가 동시에 활성화되면 이 애드온이 비활성화됩니다.', + '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>모든 값의 범위가 인터페이스로 전송됩니다.', + 'analog-axis-mode-button':'<0>정의된 임계값을 초과한 후 [눌림] 상태로 설정하는 디지털 스위치 역할을 합니다.', + 'analog-axis-mode-normal-direction':'<0>모든 값의 범위는 조이스틱의 축으로 변환되며, 최솟값은 음의 극을, 최댓값은 양의 극으로 가정됩니다.', + 'analog-axis-mode-invert-direction':'<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>주의 :디스플레이가 동시에 활성화되면 이 애드온이 비활성화됩니다 <1>현재 지원되는 컨트롤러 <0>슈퍼 패미콤 컨트롤러(SNES):십자키 대응응、B = B1, A = B2, Y = B3, X = B4, L = L1, R = R1, Select = S1, Start = S2 <0>슈퍼 패미콤 마우스: 아날로그 스틱 대응. 좌 클릭 = B1, 우 클릭 = B2 <0>패미콤(NES): 십자키 대응、 B = B1, A = B2, Select = S1, Start = S2', + '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>버튼을 오른쪽 클릭하여 버튼의 눌린 상태 색상을 미리 봅니다.', + '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>SSD1306, SH1106, SH1107 중 하나 또는 호환 가능한 I2C 디스플레이 IC를 채용 <1>3.3v 에서의 동작에 대응', + 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버튼 순서에서 설정한 마지막 LED 버튼 다음의 값으로 설정해 주세요. <3>{{rgbLedStartIndex}}에서 시작', + '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>주변기기설정에서 활성화 해 주세요.', + '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>설정 초기화 페이지에서 초기화를 실행해 주세요.', + '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 className="card-text">이 처리는 자동으로 컨트롤러를 재기동 합니다.', + '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': + '', + 'ps4-id-mode-options': { + console: '콘솔', + emulation: '리모트/에뮬레이션', + }, + 'ps5-mode-explanation-text': + 'PS5모드는 GP2040-CE 컨트롤러를 인증된 PS5 호환 아케이드 컨트롤러로 작동할 수 있습니다.', + 'ps5-mode-warning-text': + '⏳ 경고 ⏳: 인증이 없을 경우 PS5는 8분 후에 타임아웃되어 연결이 끊어집니다.(8분 인증)', + 'ps5-usb-host-mode-text': + '추가 설명: USB 주변 장치가 활성화되어 있으며, PS5와 호환되는 장치가 연결되어 있는지 확인하세요.', + 'xbone-mode-text': + '추가 설명:Xbox One 모드에서 올바르게 인증하려면 USB 호스트 연결과 USB 동글이 필요합니다.', + 'xinput-mode-text': + '추가 설명:Xinput모드는 pc에서 인증 없이 사용 할 수 있습니다. Xbox 360에서 사용할때는 적절한 동글을 꽂아주세요', + 'hotkey-settings-label': '핫키 설정', + 'hotkey-settings-sub-header': + 'Fn슬라이더는단자 할당 설정페이지에서 할당 가능한 펑션 버튼 기능을 활성화 합니다.Fn슬라이더를 활성화 하면 선택한 핫 키와 동시에 펑션 버튼을 누르도록 설정할 수 있습니다.
또、None을 선택 하는 것으로 버튼 할당을 해제 할 수 있습니다.', + 'hotkey-settings-warning': + '펑션 버튼이 미할당 입니다.Fn 슬라이더는 비활성화 됩니다.', + 'hotkey-actions': { + 'no-action': '미설정', + 'dpad-digital': '십자키:디지털', + 'dpad-left-analog': '십자키:좌측 아날로그', + 'dpad-right-analog': '십자키:우측 아날로그', + 'home-button': 'Home 버튼', + 'capture-button': 'Capture 버튼', + 'socd-up-priority': 'SOCD 위 우선', + 'socd-neutral': 'SOCD 중립', + 'socd-last-win': 'SOCD 후 입력 우선', + 'socd-first-win': 'SOCD 선 입력 우선', + 'socd-off': 'SOCD 클리너 끄기', + 'invert-x': '상하 입력 반전', + 'invert-y': '좌우 입력 반전', + 'toggle-4way-joystick-mode': '4방향 조이스틱 모드 전환', + 'toggle-ddi-4way-joystick-mode': 'DDI 4방향 조이스틱 모드 전환', + 'b1-button': 'B1 버튼', + 'b2-button': 'B2 버튼', + 'b3-button': 'B3 버튼', + 'b4-button': 'B4 버튼', + 'l1-button': 'L1 버튼', + 'r1-button': 'R1 버튼', + 'l2-button': 'L2 버튼', + 'r2-button': 'R2 버튼', + 'l3-button': 'L3 버튼', + 'r3-button': 'R3 버튼', + 's1-button': 'S1 버튼', + 's2-button': 'S2 버튼', + 'a1-button': 'A1 버튼', + 'a2-button': 'A2 버튼', + 'a3-button': 'A3 버튼', + 'a4-button': 'A4 버튼', + 'dpad-up': '십자키 상', + 'dpad-down': '십자키 하', + 'dpad-left': '십자키 좌', + 'dpad-right': '십자키 우', + 'touchpad-button': '터치 패드 버튼', + 'load-profile-1': '프로파일 #1을 로드', + 'load-profile-2': '프로파일 #2을 로드', + 'load-profile-3': '프로파일 #3을 로드', + 'load-profile-4': '프로파일 #4을 로드', + 'reboot-default': 'GP2040-CE를 재기동', + 'next-profile': '다음 프로파일', + 'previous-profile': '이전 프로파일', + }, + 'forced-setup-mode-label': '강제 설정모드', + 'forced-setup-mode-options': { + off: '끄기', + 'disable-input-mode': '입력 모드를 비활성화', + 'disable-web-config': 'Web설정 모드를 비활성화', + 'disable-both': '모두 비활성화', + }, + 'forced-setup-mode-modal-title': '강제 설정 모드에 대한 주의', + 'forced-setup-mode-modal-body': + '저장후 컨트롤러를 재기동하면, 이후로 Web설정 모드에 액세스 할 수 없게됩니다. 주의사항을 잘 이해한 뒤에 저장버튼을 활성화 하기 위해서는「{{warningCheckText}}」을 아래에 입력 해 주세요. 닫기 버튼을 누른 경우 이 설정은 원래 상태로 되돌아 간뒤에 저장됩니다.', + '4-way-joystick-mode-label': '4방향 조이스틱 모드', + 'lock-hotkeys-label': '핫키 잠금', + 'keyboard-mapping-header-text': '키보드 키 할당', + 'keyboard-mapping-sub-header-text': + '아래의 폼을 사용하여 버튼과 키를 할당 변경 해주세요', +}; diff --git a/www/src/Locales/pt-BR/Components.jsx b/www/src/Locales/pt-BR/Components.jsx index 6446be7f7..790536762 100644 --- a/www/src/Locales/pt-BR/Components.jsx +++ b/www/src/Locales/pt-BR/Components.jsx @@ -7,6 +7,7 @@ export default { 'zh-CN': '简体中文 (Chinês simplificado)', 'de-DE': 'Deutsch (Alemão)', 'ja-JP': '日本語 (Japonesa)', + 'ko-KR': '한국어 (coreano)', }, 'color-scheme': { dark: 'Escuro', diff --git a/www/src/Locales/zh-CN/Components.jsx b/www/src/Locales/zh-CN/Components.jsx index a7dcb1191..629a401e4 100644 --- a/www/src/Locales/zh-CN/Components.jsx +++ b/www/src/Locales/zh-CN/Components.jsx @@ -6,6 +6,7 @@ export default { 'zh-CN': '简体中文', 'de-DE': 'Deutsch (德语)', 'ja-JP': '日本語 (日语)', + 'ko-KR': '한국어 (韩语)', }, 'color-scheme': { dark: '黑暗', diff --git a/www/src/i18n.jsx b/www/src/i18n.jsx index 4ebae5ff3..e1c85a1d7 100644 --- a/www/src/i18n.jsx +++ b/www/src/i18n.jsx @@ -6,6 +6,7 @@ import zhCN from './Locales/zh-CN/Index'; import ptBR from './Locales/pt-BR/Index'; import deDE from './Locales/de-DE/Index'; import jaJP from './Locales/ja-JP/Index'; +import koKR from './Locales/ko-KR/Index'; i18n .use(LanguageDetector) @@ -25,6 +26,7 @@ i18n 'zh-CN': zhCN, 'de-DE': deDE, 'ja-JP': jaJP, + 'ko-KR': koKR, }, });