Merge branch 'main' into feat/belarus-readme

This commit is contained in:
Zamitto 2024-05-13 18:17:09 -03:00 committed by GitHub
commit 72c3052e47
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 200 additions and 20 deletions

View file

@ -19,5 +19,11 @@ module.exports = {
},
],
"@typescript-eslint/no-explicit-any": "warn",
"prettier/prettier": [
"error",
{
endOfLine: "auto",
},
],
},
};

View file

@ -1 +0,0 @@
npx --no -- commitlint --edit $1

View file

@ -11,5 +11,6 @@ export { default as tr } from "./tr/translation.json";
export { default as be } from "./be/translation.json";
export { default as uk } from "./uk/translation.json";
export { default as id } from "./id/translation.json";
export { default as ko } from "./ko/translation.json";
export { default as da } from "./da/translation.json";
export { default as fa } from "./fa/translation.json";

View file

@ -0,0 +1,174 @@
{
"home": {
"featured": "추천",
"recently_added": "최근 추가됨",
"trending": "인기",
"surprise_me": "무작위 추천",
"no_results": "결과 없음"
},
"sidebar": {
"catalogue": "카탈로그",
"downloads": "다운로드",
"settings": "설정",
"my_library": "내 라이브러리",
"downloading_metadata": "{{title}} (메타데이터 다운로드 중…)",
"checking_files": "{{title}} ({{percentage}} - 파일 검사 중…)",
"paused": "{{title}} (일시 정지됨)",
"downloading": "{{title}} ({{percentage}} - 다운로드 중…)",
"filter": "필터 라이브러리",
"follow_us": "공식 SNS",
"home": "홈",
"discord": "공식 디스코드",
"telegram": "공식 텔레그램",
"x": "공식 X (구 트위터)",
"github": "GitHub에서 기여하기"
},
"header": {
"search": "게임 검색하기",
"home": "홈",
"catalogue": "카탈로그",
"downloads": "다운로드",
"search_results": "검색 결과",
"settings": "설정"
},
"bottom_panel": {
"no_downloads_in_progress": "진행중인 다운로드 없음",
"downloading_metadata": "{{title}}의 메타데이터를 다운로드 중…",
"checking_files": "{{title}}의 파일들을 검사 중… ({{percentage}} 완료)",
"downloading": "{{title}}의 파일들을 다운로드 중… ({{percentage}} 완료) - 완료까지 {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "다음 페이지",
"previous_page": "이전 페이지"
},
"game_details": {
"open_download_options": "다운로드 선택지 열기",
"download_options_zero": "다운로드 선택지 없음",
"download_options_one": "{{count}}개의 다운로드 선택지가 존재함",
"download_options_other": "{{count}}개의 다운로드 선택지들이 존재함",
"updated_at": "{{updated_at}}에 업데이트 됨",
"install": "설치",
"resume": "재개",
"pause": "일시 정지",
"cancel": "취소",
"remove": "제거",
"remove_from_list": "목록에서 제거",
"space_left_on_disk": "여유 저장 용량 {{space}} 남음",
"eta": "왼료까지 {{eta}}",
"downloading_metadata": "메타데이터 다운로드 중…",
"checking_files": "파일 검사 중…",
"filter": "리팩들을 다음과 같이 걸러내기",
"requirements": "시스템 사양",
"minimum": "최저 사양",
"recommended": "권장 사양",
"no_minimum_requirements": "{{title}}의 최저 사양을 제공받지 못 함",
"no_recommended_requirements": "{{title}}의 권장 사양을 제공받지 못 함",
"paused_progress": "{{progress}} (일시 정지)",
"release_date": "{{date}}에 발매됨",
"publisher": "{{publisher}} 배급",
"copy_link_to_clipboard": "링크 복사하기",
"copied_link_to_clipboard": "링크 복사됨",
"hours": "시",
"minutes": "분",
"amount_hours": "{{amount}} 시간",
"amount_minutes": "{{amount}} 분",
"accuracy": "정확도 {{accuracy}}%",
"add_to_library": "라이브러리에 추가",
"remove_from_library": "라이브러리에서 제거",
"no_downloads": "가능한 다운로드 없음",
"play_time": "{{amount}}동안 플레이 함",
"last_time_played": "마지막 플레이 날짜 {{period}}",
"not_played_yet": "{{title}}의 플레이 기록 아직 없음",
"next_suggestion": "다음 추천",
"play": "실행",
"deleting": "인스톨러 삭제 중…",
"close": "닫기",
"playing_now": "현재 플레이 중",
"change": "바꾸기",
"repacks_modal_description": "다운로드 할 리팩을 선택해 주세요",
"downloads_path": "다운로드 경로",
"select_folder_hint": "기본 폴더를 바꾸려면 <0>설정</0>으로 가세요",
"download_now": "지금 다운로드",
"installation_instructions": "설치 방법",
"installation_instructions_description": "이 게임을 설치하기 위해서는 추가적인 단계가 필요합니다",
"online_fix_instruction": "OnlineFix 게임들은 추출 시 암호가 필요합니다. 비밀번호를 물을 때 다음을 암호로 사용하기:",
"dodi_installation_instruction": "DODI 인스톨러를 열었다면 키보드의 위 방향키를 눌러 설치를 시작하세요:",
"dont_show_it_again": "다시 보지 않기",
"copy_to_clipboard": "복사하기",
"copied_to_clipboard": "복사됨",
"got_it": "알았습니다"
},
"activation": {
"title": "Hydra 실행",
"installation_id": "설치 ID:",
"enter_activation_code": "활성 코드를 입력하세요",
"message": "이것을 어디에서 구해야 할 지 모르겠다면 애초에 갖고 있으면 안 됩니다.",
"activate": "활성화",
"loading": "불러오는중..."
},
"downloads": {
"resume": "재개",
"pause": "일시 정지",
"eta": "완료까지 {{eta}}",
"paused": "일시 정지됨",
"verifying": "검증중…",
"completed_at": "{{date}}에 완료됨",
"completed": "완료됨",
"cancelled": "취소됨",
"download_again": "다시 다운로드 하기",
"cancel": "취소",
"filter": "다운로드 된 게임들을 정렬하기",
"remove": "제거하기",
"downloading_metadata": "메타데이터 다운로드 중…",
"checking_files": "파일 검사 중…",
"starting_download": "다운로드 개시 중…",
"deleting": "인스톨러 삭제 중…",
"delete": "인스톨러 삭제하기",
"remove_from_list": "제거하기",
"delete_modal_title": "정말로 하시겠습니까?",
"delete_modal_description": "이 기기의 모든 설치 파일들이 제거될 것입니다",
"install": "설치",
"real_debrid": "Real Debrid",
"torrent": "Torrent"
},
"settings": {
"downloads_path": "다운로드 경로",
"change": "업데이트",
"notifications": "알림",
"enable_download_notifications": "다운로드가 완료되었을 때",
"enable_repack_list_notifications": "새 리팩이 추가되었을 때",
"telemetry": "자동 데이터 수집",
"telemetry_description": "익명 사용 통계를 활성화",
"real_debrid_api_token_description": "Real Debrid API 토큰",
"quit_app_instead_hiding": "작업 표시줄 트레이로 최소화하는 대신 Hydra를 종료",
"launch_with_system": "컴퓨터가 시작되었을 때 Hydra 실행",
"general": "일반",
"behavior": "행동",
"enable_real_debrid": "Real Debrid 활성화",
"real_debrid": "Real Debrid",
"real_debrid_api_token_hint": "API 키를 <0>이곳</0>에서 얻으세요.",
"save_changes": "변경 사항 저장"
},
"notifications": {
"download_complete": "다운로드 완료",
"game_ready_to_install": "이제 {{title}} 설치할 수 있습니다",
"repack_list_updated": "리팩 목록 갱신됨",
"repack_count_one": "{{count}}개의 리팩이 추가됨",
"repack_count_other": "{{count}}개의 리팩들이 추가됨"
},
"system_tray": {
"open": "Hydra 열기",
"quit": "닫기"
},
"game_card": {
"no_downloads": "가능한 다운로드 없음"
},
"binary_not_found_modal": {
"title": "프로그램이 설치되지 않음",
"description": "Wine 또는 Lutris 실행 파일이 시스템에서 발견되지 않았습니다",
"instructions": "게임이 정상적으로 실행될 수 있게 당신의 리눅스 배포판에 Wine 또는 Lutris를 올바르게 설치해 주세요"
},
"modal": {
"close": "닫기 버튼"
}
}

View file

@ -124,21 +124,20 @@ export class TorrentDownloader extends Downloader {
stdio: "inherit",
windowsHide: true,
});
return;
} else {
const scriptPath = path.join(
__dirname,
"..",
"..",
"torrent-client",
"main.py"
);
cp.spawn("python3", [scriptPath, ...commonArgs], {
stdio: "inherit",
});
}
const scriptPath = path.join(
__dirname,
"..",
"..",
"torrent-client",
"main.py"
);
cp.spawn("python3", [scriptPath, ...commonArgs], {
stdio: "inherit",
});
Promise.all([writePipe.createPipe(), readPipe.createPipe()]).then(
async () => {
this.attachListener();

View file

@ -29,7 +29,7 @@ export const getSteamGridData = async (
const searchParams = new URLSearchParams(params);
if (!import.meta.env.MAIN_VITE_STEAMGRIDDB_API_KEY) {
throw new Error("STEAMGRIDDB_API_KEY is not set");
throw new Error("MAIN_VITE_STEAMGRIDDB_API_KEY is not set");
}
const response = await axios.get(

View file

@ -45,6 +45,11 @@ export function SettingsGeneral({
const { t } = useTranslation("settings");
const handleChange = (values: Partial<typeof form>) => {
setForm((prev) => ({ ...prev, ...values }));
updateUserPreferences(values);
};
const handleChooseDownloadsPath = async () => {
const { filePaths } = await window.electron.showOpenDialog({
defaultPath: form.downloadsPath,
@ -53,15 +58,11 @@ export function SettingsGeneral({
if (filePaths && filePaths.length > 0) {
const path = filePaths[0];
handleChange({ downloadsPath: path });
updateUserPreferences({ downloadsPath: path });
}
};
const handleChange = (values: Partial<typeof form>) => {
setForm((prev) => ({ ...prev, ...values }));
updateUserPreferences(values);
};
return (
<>
<div className={styles.downloadsPathField}>