diff --git a/includes/i18n/ko.php b/includes/i18n/ko.php new file mode 100644 index 0000000..13639c3 --- /dev/null +++ b/includes/i18n/ko.php @@ -0,0 +1,254 @@ + "로그인 하기 전에 회원가입을 진행해야 합니다.", + 'username' => "유저명", + 'password' => "비밀번호", + "email" => "이메일", + "confirm_password" => "비밀번호 확인", + "main_currency" => "기본 통화", + "language" => "언어", + "passwords_dont_match" => "비밀번호가 일치하지 않습니다.", + "registration_failed" => "회원가입 실패. 다시 시도해 주세요.", + "register" => "회원가입", + "restore_database" => "데이터베이스 복구", + // Login Page + 'please_login' => "로그인 해 주세요.", + 'stay_logged_in' => "로그인 유지 (30일)", + 'login' => "로그인", + 'login_failed' => "로그인 정보가 부정확합니다.", + // Header + 'subscriptions' => "구독", + 'stats' => "통계", + 'settings' => "설정", + 'about' => "정보", + 'logout' => "로그아웃", + // Subscriptions page + "subscription" => "구독", + "no_subscriptions_yet" => "아직 구독을 등록하지 않았습니다.", + "add_first_subscription" => "첫번째 구독을 추가하세요.", + 'new_subscription' => "새 구독", + 'search' => "검색", + 'sort' => "정렬", + 'name' => "이름", + 'last_added' => "최근 등록", + 'price' => "가격", + 'next_payment' => "다음 결제일", + 'inactive' => "구독 비활성화", + 'member' => "구성원", + 'category' => "카테고리", + 'payment_method' => "지불 수단", + "Daily" => "일간 결제", + "Weekly" => "주간 결제", + "Monthly" => "월간 결제", + "Yearly" => "연간 결제", + "daily" => "일", + "weekly" => "주", + "monthly" => "월", + "yearly" => "년", + "days" => "매일", + "weeks" => "매주", + "months" => "매월", + "years" => "매년", + "external_url" => "외부 URL 방문", + "empty_page" => "빈 페이지", + "clear_filters" => "필터 제거", + "no_matching_subscriptions" => "해당하는 구독이 없습니다.", + // Subscription form + "add_subscription" => "구독 추가", + "edit_subscription" => "구독 편집", + "subscription_name" => "구독 이름", + "logo_preview" => "로고 미리보기", + "search_logo" => "웹에서 로고 검색하기", + "web_search" => "웹 검색", + "currency" => "통화", + "payment_every" => "지불 빈도", + "frequency" => "빈도", + "cycle" => "주기", + "next_payment" => "다음 결제", + "payment_method" => "결제 방법", + "no_category" => "카테고리 없음", + "paid_by" => "결제하는 사람", + "url" => "URL", + "notes" => "메모", + "enable_notifications" => "이 구독에 대한 알림을 활성화합니다.", + "delete" => "삭제", + "cancel" => "취소", + "upload_logo" => "로고 업로드", + // Statistics page + 'general_statistics' => "일반 통계", + 'active_subscriptions' => "활성 구독", + 'inactive_subscriptions' => "비활성 구독", + 'monthly_cost' => "월간 지출", + 'yearly_cost' => "연간 지출", + 'average_monthly' => "월별 평균 구독 비용", + 'most_expensive' => "최고가 구독 비용", + 'amount_due' => "이달의 결제 비용", + 'monthly_savings' => "월간 절약 (비활성 구독)", + 'split_views' => "분할 표시", + 'category_split' => "카테고리별", + 'household_split' => "가구별", + 'payment_method_split' => "지불방법별", + // About page + 'about_and_credits' => "개요 및 크레딧", + 'license' => "라이선스", + 'issues_and_requests' => "이슈 및 요청", + 'the_author' => "제작자", + 'icons' => "아이콘", + 'payment_icons' => "지불 방식 아이콘", + // Settings page + 'upload_avatar' => "아바타 업로드", + 'file_type_error' => "제공된 파일이 지원하지 않는 타입입니다.", + 'user_details' => "유저 상세", + "household" => "가구", + "save_member" => "구성원 저장", + "delete_member" => "구성원 삭제", + "cant_delete_member" => "메인 구성원은 삭제할 수 없습니다", + "cant_delete_member_in_use" => "구독에서 사용 중인 구성원은 삭제할 수 없습니다", + 'household_info' => "이메일 항목은 가구 구성원이 구독 만료에 대한 안내를 받기 위해 필요합니다.", + "notifications" => "알림", + "enable_email_notifications" => "이메일 알림 활성화", + "notify_me" => "알림 받기", + "day_before" => "일 전", + "days_before" => "일 전", + "smtp_address" => "SMTP 주소", + "port" => "포트", + "tls" => "TLS", + "ssl" => "SSL", + "smtp_username" => "SMTP 유저명", + "smtp_password" => "SMTP 비밀번호", + "from_email" => "발송 주소 (선택사항)", + "smtp_info" => "SMTP 비밀번호는 평문으로 저장되고 발송됩니다. 보안을 위해, 이 서비스를 위해서만 사용하는 계정을 생성해 주세요.", + "telegram" => "텔레그램", + "telegram_bot_token" => "텔레그램 봇 토큰", + "telegram_chat_id" => "텔레그램 채팅 ID", + "webhook" => "웹훅", + "webhook_url" => "웹훅 URL", + "request_method" => "요청 메서드", + "custom_headers" => "커스텀 헤더", + "webhook_payload" => "웹훅 페이로드", + "webhook_iterator_key" => "{{subscriptions}}을 키 이름으로 바꾸기", + "variables_available" => "사용 가능한 변수", + "gotify" => "Gotify", + "token" => "토큰", + "discord" => "디스코드", + "discord_bot_username" => "디스코드 봇 유저명", + "discord_bot_avatar_url" => "디스코드 봇 아바타 URL", + "pushover" => "Pushover", + "pushover_user_key" => "Pushover User Key", + "categories" => "카테고리", + "save_category" => "카테고리 저장", + "delete_category" => "카테고리 삭제", + "cant_delete_category_in_use" => "구독에서 사용 중인 카테고리는 삭제할 수 없습니다.", + "currencies" => "통화", + "save_currency" => "통화 저장", + "delete_currency" => "통화 삭제", + "cant_delete_main_currency" => "기본 통화는 삭제할 수 없습니다.", + "cant_delete_currency_in_use" => "구독에서 사용 중인 통화는 삭제할 수 없습니다.", + "exchange_update" => "환율 최종 갱신일", + "currency_info" => "지원하는 통화와 정확한 통화 코드 찾기", + "currency_performance" => "성능을 향상시키기 위해서는 사용할 통화들만 유지하세요.", + "fixer_api_key" => "Fixer API 키", + "api_key" => "API 키", + "provider" => "제공자", + "fixer_info" => "여러 통화를 사용하고, 정확한 통계와 구독별 정렬을 원하시느 경우에는, Fixer에서 발급받은 무료 API 키가 필요합니다.", + "get_key" => "키 얻기", + "get_free_fixer_api_key" => "무료 Fixer API 키 얻기", + "get_key_alternative" => "또는 다음 사이트에서 무료 Fixer api 키를 얻을 수 있습니다.", + "display_settings" => "디스플레이 설정", + "theme_settings" => "테마 설정", + "custom_colors" => "커스텀 색상", + "dark_theme" => "다크 테마", + "switch_theme" => "라이트/다크 테마 전환", + "calculate_monthly_price" => "모든 구독에 대한 월별 요금을 계산하고 표시", + "convert_prices" => "항상 기본 통화로 가격을 환산하고 표시 (느림)", + "hide_disabled_subscriptions" => "비활성화된 구독 숨기기", + "experimental_settings" => "실험적 설정", + "remove_background" => "로고 이미지 검색에서 배경 삭제 (실험적)", + "experimental_info" => "실험적 설정은 제대로 작동하지 않을 수 있습니다.", + "payment_methods" => "결제 수단", + "payment_methods_info" => "결제 수단을 클릭하여 활성화/비활성화 할 수 있습니다.", + "rename_payment_methods_info" => "결제 수단의 이름을 클릭해 이름을 변경합니다.", + "cant_delete_payment_method_in_use" => "사용중인 결제 수단을 비활성화 할 수 없습니다", + "add_custom_payment" => "커스텀 결제 수단 추가", + "payment_method_name" => "결제 수단 이름", + "payment_method_added_successfuly" => "결제 수단이 성공적으로 추가되었습니다", + "payment_method_removed" => "결제 수단이 제거되었습니다.", + "disable" => "비활성화", + "enable" => "활성화", + "rename_payment_method" => "결제 수단 이름 변경", + "payment_renamed" => "결제 수단 이름이 변경되었습니다.", + "payment_not_renamed" => "결제 수단 이름이 변경되지 않았습니다.", + "test" => "테스트", + "add" => "추가", + "save" => "저장", + "reset" => "리셋", + "backup_and_restore" => "백업 및 복구", + "backup" => "백업", + "restore" => "복구", + "restore_info" => "데이터베이스를 복구하면 현재 데이터를 모두 덮어씁니다. 복구 후 로그아웃됩니다.", + // Filters menu + "filter" => "필터", + "clear" => "초기화", + // Toast + "success" => "성공", + // Endpoint responses + "session_expired" => "세션이 만료되었습니다. 다시 로그인 해 주세요", + "fields_missing" => "일부 항목이 누락되었습니다", + "fill_all_fields" => "모든 항목을 채워 주세요", + "fill_mandatory_fields" => "모든 필수 항목을 채워 주세요", + "error" => "에러", + // Category + "failed_add_category" => "통화를 추가하는 데 실패했습니다", + "failed_edit_category" => "카테고리를 수정하는데 실패했습니다", + "category_in_use" => "카테고리가 구독에서 사용중이므로 제거할 수 없습니다", + "failed_remove_category" => "카테고리를 제거하는데 실패했습니다", + "category_saved" => "카테고리가 저장되었습니다", + "category_removed" => "카테고리가 삭제되었습니다", + "sort_order_saved" => "정렬 순서가 저장되었습니다", + // Currency + "currency_saved" => "통화 저장", + "error_adding_currency" => "통화 항목 추가 오류.", + "failed_to_store_currency" => "데이터베이스에 통화를 저장할 수 없습니다.", + "currency_in_use" => "구독에 사용 중인 통화는 삭제할 수 없습니다.", + "currency_is_main" => "기본 통화로 설정된 통화는 삭제할 수 없습니다.", + "failed_to_remove_currency" => "데이터베이스에서 통화를 삭제할 수 없습니다.", + "failed_to_store_api_key" => "데이터베이스에 API 키를 저장할 수 없습니다.", + "invalid_api_key" => "유효하지 않은 API 키.", + "api_key_saved" => "API 성공적으로 저장했습니다", + "currency_removed" => "통화 삭제", + // Household + "failed_add_household" => "가구 구성원을 추가하는데 실패했습니다", + "failed_edit_household" => "가구 구성원을 수정하는데 실패했습니다", + "failed_remove_household" => "가구 구성원을 삭제하는데 실패했습니다", + "household_in_use" => "구독에서 사용 중인 가구 구성원은 삭제할 수 없습니다", + "member_saved" => "구성원 저장", + "member_removed" => "구성원 삭제", + // Notifications + "error_saving_notifications" => "알림 데이터 저장 오류.", + "wallos_notification" => "Wallos 알림", + "test_notification" => "이 메세지는 테스트 알림입니다. 이 메세지를 보고 계시다면, 올바르게 설정된 상태입니다.", + "email_error" => "이메일 전송 오류", + "notification_sent_successfuly" => "알림 전송에 성공했습니다", + "notifications_settings_saved" => "알림 설정 저장 성공.", + "notification_failed" => "알림 전송 실패", + // Payments + "payment_in_use" => "사용 중인 결제 수단은 비활성화 할 수 없습니다", + "failed_update_payment" => "결제 수단을 데이터베이스에 업데이트 하지 못 했습니다", + "enabled" => "활성", + "disabled" => "비활성", + // Subscription + "error_fetching_image" => "이미지 가져오기 오류", + "subscription_updated_successfuly" => "구독이 성공적으로 수정되었습니다", + "subscription_added_successfuly" => "구독이 성공적으로 추가되었습니다", + "error_deleting_subscription" => "구독 삭제 에러.", + "invalid_request_method" => "잘못된 요청 메서드.", + // User + "error_updating_user_data" => "유저 데이터 갱신 실패.", + "user_details_saved" => "유저 세부정보 저장 성공", + +]; + + +?> diff --git a/includes/i18n/languages.php b/includes/i18n/languages.php index efc8359..3217ce8 100644 --- a/includes/i18n/languages.php +++ b/includes/i18n/languages.php @@ -11,6 +11,7 @@ "fr" => "Français", "it" => "Italiano", "jp" => "日本語", + "ko" => "한국어", "pl" => "Polski", "pt" => "Português", "pt_br" => "Português Brasileiro", diff --git a/scripts/i18n/ko.js b/scripts/i18n/ko.js new file mode 100644 index 0000000..989f68e --- /dev/null +++ b/scripts/i18n/ko.js @@ -0,0 +1,36 @@ +let i18n = { + // Dashboard + error_reloading_subscription: "고독 새로고침 중 에러가 발생했습니다:", + error_fetching_image_results: "이미지 가져오기에 실패했습니다:", + subscription_deleted: "구독이 삭제되었습니다", + error_deleting_subscription: "구독 삭제중 에러가 발생했습니다", + failed_to_load_subscription: "구독 불러오기에 실패했습니다", + edit_subscription: "구독 수정", + add_subscription: "구독 추가", + confirm_delete_subscription: "이 구독을 정말 삭제하시겠습니까?", + // Settings + network_response_error: "네트워크 응답 오류가 발생했습니다", + failed_add_member: "구성원 추가에 실패했습니다", + member: "구성원", + email: "이메일", + save_member: "구성원 저장", + delete_member: "구성원 삭제", + failed_remove_member: "구성원 삭제에 실패했습니다", + failed_save_member: "구성원 저장에 실패했습니다", + failed_add_category: "카테고리 추가에 실패했습니다", + category: "카테고리", + save_category: "카테고리 저장", + delete_category: "카테고리 삭제", + failed_remove_category: "카테고리 삭제에 실패했습니다", + currency: "통화", + currency_code: "통화 코드", + save_currency: "통화 저장", + delete_currency: "통화 삭제", + failed_remove_currency: "통화 삭제에 실패했습니다", + failed_save_currency: "통화 저장에 실패했습니다", + cant_disable_payment_in_use: "사용 중인 결제 수단을 비활성화 할 수 없습니다", + failed_save_payment_method: "결제 수단 저장에 실패했습니다", + unknown_error: "알 수 없는 에러입니다. 다시 시도해 주세요.", + error_saving_notification_data: "알림 데이터 저장 에러", + error_sending_notification: "알림 전송 에러", +};