feat: add routes, lang, tests, stubs, docs, and docker configurations

This commit is contained in:
2026-05-21 16:05:16 +07:00
parent fad70d096b
commit 28a06315b8
3385 changed files with 177070 additions and 0 deletions
@@ -0,0 +1,19 @@
<?php
return [
'notifications' => [
'blocked' => [
'title' => '이메일 주소 변경 차단됨',
'body' => ':email로의 이메일 주소 변경 시도를 성공적으로 차단했습니다. 원래 요청을 하지 않았다면 즉시 문의해 주세요.',
],
'failed' => [
'title' => '이메일 주소 변경 차단 실패',
'body' => '안타깝게도 이미 차단하기 전에 확인되었기 때문에 이메일 주소가 :email로 변경되는 것을 막을 수 없었습니다. 원래 요청을 하지 않았다면 즉시 문의해 주세요.',
],
],
];
@@ -0,0 +1,14 @@
<?php
return [
'notifications' => [
'verified' => [
'title' => '이메일 주소 변경됨',
'body' => '이메일 주소가 :email로 성공적으로 변경되었습니다.',
],
],
];
@@ -0,0 +1,71 @@
<?php
return [
'label' => '비활성화',
'modal' => [
'heading' => '인증 앱 비활성화',
'description' => '인증 앱 사용을 중단하시겠습니까? 이를 비활성화하면 계정에서 추가 보안 계층이 제거됩니다.',
'form' => [
'code' => [
'label' => '인증 앱에서 6자리 코드를 입력하세요',
'validation_attribute' => '코드',
'actions' => [
'use_recovery_code' => [
'label' => '대신 복구 코드 사용',
],
],
'messages' => [
'invalid' => '입력한 코드가 올바르지 않습니다.',
],
],
'recovery_code' => [
'label' => '또는 복구 코드를 입력하세요',
'validation_attribute' => '복구 코드',
'messages' => [
'invalid' => '입력한 복구 코드가 올바르지 않습니다.',
],
],
],
'actions' => [
'submit' => [
'label' => '인증 앱 비활성화',
],
],
],
'notifications' => [
'disabled' => [
'title' => '인증 앱이 비활성화되었습니다',
],
],
];
@@ -0,0 +1,77 @@
<?php
return [
'label' => '복구 코드 재생성',
'modal' => [
'heading' => '인증 앱 복구 코드 재생성',
'description' => '복구 코드를 분실한 경우 여기에서 재생성할 수 있습니다. 기존 복구 코드는 즉시 무효화됩니다.',
'form' => [
'code' => [
'label' => '인증 앱에서 6자리 코드를 입력하세요',
'validation_attribute' => '코드',
'messages' => [
'invalid' => '입력한 코드가 올바르지 않습니다.',
],
],
'password' => [
'label' => '또는 현재 비밀번호를 입력하세요',
'validation_attribute' => '비밀번호',
],
],
'actions' => [
'submit' => [
'label' => '복구 코드 재생성',
],
],
],
'notifications' => [
'regenerated' => [
'title' => '새로운 인증 앱 복구 코드가 생성되었습니다',
],
],
'show_new_recovery_codes' => [
'modal' => [
'heading' => '새 복구 코드',
'description' => '다음 복구 코드를 안전한 곳에 저장하세요. 한 번만 표시되며, 인증 앱에 액세스할 수 없을 때 필요합니다:',
'actions' => [
'submit' => [
'label' => '닫기',
],
],
],
],
];
@@ -0,0 +1,81 @@
<?php
return [
'label' => '설정',
'modal' => [
'heading' => '인증 앱 설정',
'description' => <<<'BLADE'
과정을 완료하려면 Google Authenticator (<x-filament::link href="https://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank">iOS</x-filament::link>, <x-filament::link href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank">Android</x-filament::link>) 같은 앱이 필요합니다.
BLADE,
'content' => [
'qr_code' => [
'instruction' => '인증 앱으로 이 QR 코드를 스캔하세요:',
'alt' => '인증 앱으로 스캔할 QR 코드',
],
'text_code' => [
'instruction' => '또는 이 코드를 수동으로 입력하세요:',
'messages' => [
'copied' => '복사됨',
],
],
'recovery_codes' => [
'instruction' => '다음 복구 코드를 안전한 곳에 저장하세요. 한 번만 표시되며, 인증 앱에 액세스할 수 없을 때 필요합니다:',
],
],
'form' => [
'code' => [
'label' => '인증 앱에서 6자리 코드를 입력하세요',
'validation_attribute' => '코드',
'below_content' => '로그인하거나 민감한 작업을 수행할 때마다 인증 앱에서 6자리 코드를 입력해야 합니다.',
'messages' => [
'invalid' => '입력한 코드가 올바르지 않습니다.',
],
],
],
'actions' => [
'submit' => [
'label' => '인증 앱 활성화',
],
],
],
'notifications' => [
'enabled' => [
'title' => '인증 앱이 활성화되었습니다',
],
],
];
@@ -0,0 +1,64 @@
<?php
return [
'management_schema' => [
'actions' => [
'label' => '인증 앱',
'below_content' => '보안 앱을 사용하여 로그인 확인을 위한 임시 코드를 생성합니다.',
'messages' => [
'enabled' => '활성화됨',
'disabled' => '비활성화됨',
],
],
],
'login_form' => [
'label' => '인증 앱의 코드를 사용하세요',
'code' => [
'label' => '인증 앱에서 6자리 코드를 입력하세요',
'validation_attribute' => '코드',
'actions' => [
'use_recovery_code' => [
'label' => '대신 복구 코드 사용',
],
],
'messages' => [
'invalid' => '입력한 코드가 올바르지 않습니다.',
],
],
'recovery_code' => [
'label' => '또는 복구 코드를 입력하세요',
'validation_attribute' => '복구 코드',
'messages' => [
'invalid' => '입력한 복구 코드가 올바르지 않습니다.',
],
],
],
];
@@ -0,0 +1,67 @@
<?php
return [
'label' => '비활성화',
'modal' => [
'heading' => '이메일 인증 코드 비활성화',
'description' => '이메일 인증 코드 수신을 중단하시겠습니까? 이를 비활성화하면 계정에서 추가 보안 계층이 제거됩니다.',
'form' => [
'code' => [
'label' => '이메일로 보낸 6자리 코드를 입력하세요',
'validation_attribute' => '코드',
'actions' => [
'resend' => [
'label' => '이메일로 새 코드 보내기',
'notifications' => [
'resent' => [
'title' => '이메일로 새 코드를 보냈습니다',
],
],
],
],
'messages' => [
'invalid' => '입력한 코드가 올바르지 않습니다.',
],
],
],
'actions' => [
'submit' => [
'label' => '이메일 인증 코드 비활성화',
],
],
],
'notifications' => [
'disabled' => [
'title' => '이메일 인증 코드가 비활성화되었습니다',
],
],
];
@@ -0,0 +1,67 @@
<?php
return [
'label' => '설정',
'modal' => [
'heading' => '이메일 인증 코드 설정',
'description' => '로그인하거나 민감한 작업을 수행할 때마다 이메일로 보낸 6자리 코드를 입력해야 합니다. 설정을 완료하려면 이메일에서 6자리 코드를 확인하세요.',
'form' => [
'code' => [
'label' => '이메일로 보낸 6자리 코드를 입력하세요',
'validation_attribute' => '코드',
'actions' => [
'resend' => [
'label' => '이메일로 새 코드 보내기',
'notifications' => [
'resent' => [
'title' => '이메일로 새 코드를 보냈습니다',
],
],
],
],
'messages' => [
'invalid' => '입력한 코드가 올바르지 않습니다.',
],
],
],
'actions' => [
'submit' => [
'label' => '이메일 인증 코드 활성화',
],
],
],
'notifications' => [
'enabled' => [
'title' => '이메일 인증 코드가 활성화되었습니다',
],
],
];
@@ -0,0 +1,12 @@
<?php
return [
'subject' => '로그인 코드입니다',
'lines' => [
'로그인 코드: :code',
'이 코드는 1분 후에 만료됩니다.|이 코드는 :minutes분 후에 만료됩니다.',
],
];
@@ -0,0 +1,60 @@
<?php
return [
'management_schema' => [
'actions' => [
'label' => '이메일 인증 코드',
'below_content' => '로그인 시 신원 확인을 위해 이메일 주소로 임시 코드를 받습니다.',
'messages' => [
'enabled' => '활성화됨',
'disabled' => '비활성화됨',
],
],
],
'login_form' => [
'label' => '이메일로 코드 보내기',
'code' => [
'label' => '이메일로 보낸 6자리 코드를 입력하세요',
'validation_attribute' => '코드',
'actions' => [
'resend' => [
'label' => '이메일로 새 코드 보내기',
'notifications' => [
'resent' => [
'title' => '이메일로 새 코드를 보냈습니다',
],
],
],
],
'messages' => [
'invalid' => '입력한 코드가 올바르지 않습니다.',
],
],
],
];
@@ -0,0 +1,19 @@
<?php
return [
'title' => '이중 인증(2FA) 설정',
'heading' => '이중 인증 설정',
'subheading' => '2FA는 로그인 시 두 번째 형태의 인증을 요구하여 계정에 추가 보안 계층을 추가합니다.',
'actions' => [
'continue' => [
'label' => '계속',
],
],
];
@@ -0,0 +1,27 @@
<?php
return [
'actions' => [
'클릭하여',
'copy' => [
'label' => '복사',
],
'하거나',
'download' => [
'label' => '다운로드',
],
'하여 모든 코드를 한 번에 가져오세요.',
],
'messages' => [
'copied' => '복사됨',
],
];
@@ -0,0 +1,16 @@
<?php
return [
'subject' => '이메일 주소가 변경되고 있습니다',
'lines' => [
'계정과 연결된 이메일 주소 변경 요청을 받았습니다. 이 변경을 확인하기 위해 비밀번호가 사용되었습니다.',
'확인되면 계정의 새 이메일 주소는 :email이 됩니다.',
'확인되기 전에 아래 버튼을 클릭하여 변경을 차단할 수 있습니다.',
'이 요청을 하지 않았다면 즉시 문의해 주세요.',
],
'action' => '이메일 변경 차단',
];
@@ -0,0 +1,68 @@
<?php
return [
'label' => '프로필',
'form' => [
'email' => [
'label' => '이메일',
],
'name' => [
'label' => '이름',
],
'password' => [
'label' => '새 비밀번호',
'validation_attribute' => '비밀번호',
],
'password_confirmation' => [
'label' => '새 비밀번호 확인',
'validation_attribute' => '비밀번호 확인',
],
'current_password' => [
'label' => '현재 비밀번호',
'below_content' => '보안을 위해 계속하려면 비밀번호를 확인해 주세요.',
'validation_attribute' => '현재 비밀번호',
],
'actions' => [
'save' => [
'label' => '변경 사항 저장',
],
],
],
'multi_factor_authentication' => [
'label' => '이중 인증 (2FA)',
],
'notifications' => [
'email_change_verification_sent' => [
'title' => '이메일 주소 변경 요청이 전송됨',
'body' => ':email로 이메일 주소 변경 요청이 전송되었습니다. 변경사항을 확인하려면 이메일을 확인해 주세요.',
],
'saved' => [
'title' => '저장 완료',
],
],
'actions' => [
'cancel' => [
'label' => '취소',
],
],
];
@@ -0,0 +1,35 @@
<?php
return [
'title' => '이메일 주소 확인',
'heading' => '이메일 주소 확인',
'actions' => [
'resend_notification' => [
'label' => '재전송',
],
],
'messages' => [
'notification_not_received' => '이메일을 받지 못하셨나요?',
'notification_sent' => '이메일 인증에 대한 안내가 포함된 이메일을 :email로 보냈습니다.',
],
'notifications' => [
'notification_resent' => [
'title' => '이메일을 다시 보냈습니다.',
],
'notification_resend_throttled' => [
'title' => '너무 많이 시도했습니다',
'body' => ':seconds 초 후에 다시 시도해 주세요.',
],
],
];
+85
View File
@@ -0,0 +1,85 @@
<?php
return [
'title' => '로그인',
'heading' => '로그인하세요',
'actions' => [
'register' => [
'before' => '또는',
'label' => '회원 가입',
],
'request_password_reset' => [
'label' => '비밀번호를 잊어버리셨나요?',
],
],
'form' => [
'email' => [
'label' => '이메일',
],
'password' => [
'label' => '비밀번호',
],
'remember' => [
'label' => '기억하기',
],
'actions' => [
'authenticate' => [
'label' => '로그인',
],
],
],
'multi_factor' => [
'heading' => '신원 확인',
'subheading' => '로그인을 계속하려면 신원을 확인해야 합니다.',
'form' => [
'provider' => [
'label' => '어떻게 확인하시겠습니까?',
],
'actions' => [
'authenticate' => [
'label' => '로그인 확인',
],
],
],
],
'messages' => [
'failed' => '일치하는 계정이 없습니다.',
],
'notifications' => [
'throttled' => [
'title' => '너무 많이 시도했습니다',
'body' => ':seconds 초 후에 다시 시도해 주세요.',
],
],
];
@@ -0,0 +1,46 @@
<?php
return [
'title' => '비밀번호 재설정',
'heading' => '비밀번호를 잊어버리셨나요?',
'actions' => [
'login' => [
'label' => '로그인으로 돌아가기',
],
],
'form' => [
'email' => [
'label' => '이메일',
],
'actions' => [
'request' => [
'label' => '이메일 전송',
],
],
],
'notifications' => [
'sent' => [
'body' => '계정이 존재하지 않으면 이메일을 받지 못합니다.',
],
'throttled' => [
'title' => '너무 많이 시도했습니다',
'body' => ':seconds 초 후에 다시 시도해 주세요.',
],
],
];
@@ -0,0 +1,43 @@
<?php
return [
'title' => '비밀번호 재설정',
'heading' => '비밀번호 재설정',
'form' => [
'email' => [
'label' => '이메일',
],
'password' => [
'label' => '비밀번호',
'validation_attribute' => '비밀번호',
],
'password_confirmation' => [
'label' => '비밀번호 확인',
],
'actions' => [
'reset' => [
'label' => '비밀번호 재설정',
],
],
],
'notifications' => [
'throttled' => [
'title' => '너무 많이 시도했습니다',
'body' => ':seconds 초 후에 다시 시도해 주세요.',
],
],
];
+56
View File
@@ -0,0 +1,56 @@
<?php
return [
'title' => '회원가입',
'heading' => '회원가입',
'actions' => [
'login' => [
'before' => '또는',
'label' => '기존 계정으로 로그인',
],
],
'form' => [
'email' => [
'label' => '이메일',
],
'name' => [
'label' => '이름',
],
'password' => [
'label' => '비밀번호',
'validation_attribute' => '비밀번호',
],
'password_confirmation' => [
'label' => '비밀번호 확인',
],
'actions' => [
'register' => [
'label' => '회원가입',
],
],
],
'notifications' => [
'throttled' => [
'title' => '너무 많이 시도했습니다',
'body' => ':seconds 초 후에 다시 시도해 주세요.',
],
],
];
@@ -0,0 +1,9 @@
<?php
return [
'title' => '페이지 로드 중 오류',
'body' => '이 페이지를 로드하는 동안 오류가 발생했습니다. 나중에 다시 시도해 주세요.',
];
+12
View File
@@ -0,0 +1,12 @@
<?php
return [
'field' => [
'label' => '전체 검색',
'placeholder' => '검색',
],
'no_results_message' => '검색 결과가 없습니다.',
];
+63
View File
@@ -0,0 +1,63 @@
<?php
return [
'direction' => 'ltr',
'actions' => [
'billing' => [
'label' => '구독 관리',
],
'logout' => [
'label' => '로그아웃',
],
'open_database_notifications' => [
'label' => '알림 열기',
],
'open_user_menu' => [
'label' => '사용자 메뉴',
],
'sidebar' => [
'collapse' => [
'label' => '사이드바 접기',
],
'expand' => [
'label' => '사이드바 펼치기',
],
],
'theme_switcher' => [
'dark' => [
'label' => '다크 모드',
],
'light' => [
'label' => '라이트 모드',
],
'system' => [
'label' => '시스템 테마 사용',
],
],
],
'avatar' => [
'alt' => ':name 아바타',
],
'logo' => [
'alt' => ':name 로고',
],
];
+33
View File
@@ -0,0 +1,33 @@
<?php
return [
'title' => '대시보드',
'actions' => [
'filter' => [
'label' => '필터',
'modal' => [
'heading' => '필터',
'actions' => [
'apply' => [
'label' => '적용',
],
],
],
],
],
];
@@ -0,0 +1,25 @@
<?php
return [
'form' => [
'actions' => [
'save' => [
'label' => '변경 사항 저장',
],
],
],
'notifications' => [
'saved' => [
'title' => '저장 완료',
],
],
];
@@ -0,0 +1,37 @@
<?php
return [
'title' => ':label 만들기',
'breadcrumb' => '만들기',
'form' => [
'actions' => [
'cancel' => [
'label' => '취소',
],
'create' => [
'label' => '만들기',
],
'create_another' => [
'label' => '계속 만들기',
],
],
],
'notifications' => [
'created' => [
'title' => '생성 완료',
],
],
];
@@ -0,0 +1,43 @@
<?php
return [
'title' => ':label 수정',
'breadcrumb' => '수정',
'navigation_label' => '수정',
'form' => [
'actions' => [
'cancel' => [
'label' => '취소',
],
'save' => [
'label' => '저장',
],
],
],
'content' => [
'tab' => [
'label' => '수정',
],
],
'notifications' => [
'saved' => [
'title' => '저장 완료',
],
],
];
@@ -0,0 +1,7 @@
<?php
return [
'breadcrumb' => '목록',
];
@@ -0,0 +1,7 @@
<?php
return [
'title' => ':label :relationship 관리',
];
@@ -0,0 +1,19 @@
<?php
return [
'title' => ':label 보기',
'breadcrumb' => '보기',
'navigation_label' => '보기',
'content' => [
'tab' => [
'label' => '보기',
],
],
];
@@ -0,0 +1,7 @@
<?php
return [
'body' => '작업 내용이 저장되지 않았습니다. 정말로 이 페이지를 나가시겠습니까?',
];
@@ -0,0 +1,15 @@
<?php
return [
'actions' => [
'logout' => [
'label' => '로그아웃',
],
],
'welcome' => '어서오세요',
];
@@ -0,0 +1,17 @@
<?php
return [
'actions' => [
'open_documentation' => [
'label' => '도큐먼트',
],
'open_github' => [
'label' => 'GitHub',
],
],
];