diff --git a/documentation/docs/configuration/email.md b/documentation/docs/configuration/email.md index 5312910..e83ac6c 100644 --- a/documentation/docs/configuration/email.md +++ b/documentation/docs/configuration/email.md @@ -13,14 +13,14 @@ environment: ```yaml environment: - - EMAIL_BACKEND='email' - - EMAIL_HOST='smtp.gmail.com' - - EMAIL_USE_TLS=False + - EMAIL_BACKEND=email + - EMAIL_HOST=smtp.gmail.com + - EMAIL_USE_TLS=True - EMAIL_PORT=587 - - EMAIL_USE_SSL=True - - EMAIL_HOST_USER='user' - - EMAIL_HOST_PASSWORD='password' - - DEFAULT_FROM_EMAIL='user@example.com' + - EMAIL_USE_SSL=False + - EMAIL_HOST_USER=user + - EMAIL_HOST_PASSWORD=password + - DEFAULT_FROM_EMAIL=user@example.com ``` ## Customizing Emails diff --git a/documentation/docs/configuration/immich_integration.md b/documentation/docs/configuration/immich_integration.md index a8b2ae1..1581e42 100644 --- a/documentation/docs/configuration/immich_integration.md +++ b/documentation/docs/configuration/immich_integration.md @@ -20,7 +20,7 @@ To integrate Immich with AdventureLog, you need to have an Immich server running - Click `New API Key` and name it something like `AdventureLog`. - Copy the generated API Key, you will need it in the next step. 2. Go to the AdventureLog web interface, click on your user profile picture, go to `Settings` and scroll down to the `Immich Integration` section. - - Enter the URL of your Immich server, e.g. `https://immich.example.com`. Note that `localhost` or `127.0.0.1` will probably not work because Immich and AdventureLog are running on different docker networks. It is recommended to use the IP address of the server where Immich is running ex `http://my-server-ip:port` or a domain name. + - Enter the URL of your Immich server, e.g. `https://immich.example.com/api`. Note that `localhost` or `127.0.0.1` will probably not work because Immich and AdventureLog are running on different docker networks. It is recommended to use the IP address of the server where Immich is running ex `http://my-server-ip:port` or a domain name. - Paste the API Key you obtained in the previous step. - Click `Enable Immich` to save the settings. 3. Now, when you are adding images to an adventure, you will see an option to search for images in Immich or upload from an album. diff --git a/frontend/src/lib/components/Navbar.svelte b/frontend/src/lib/components/Navbar.svelte index f57793b..6ab2337 100644 --- a/frontend/src/lib/components/Navbar.svelte +++ b/frontend/src/lib/components/Navbar.svelte @@ -53,7 +53,8 @@ nl: 'Nederlands', sv: 'Svenska', zh: '中文', - pl: 'Polski' + pl: 'Polski', + ko: '한국어' }; let query: string = ''; diff --git a/frontend/src/locales/ko.json b/frontend/src/locales/ko.json new file mode 100644 index 0000000..bd5d714 --- /dev/null +++ b/frontend/src/locales/ko.json @@ -0,0 +1,570 @@ +{ + "about": { + "about": "소개", + "close": "닫기", + "license": "GPL-3.0 라이선스 적용.", + "message": "미국에서 ❤️로 제작되었습니다.", + "nominatim_1": "위치 검색 및 지오코딩 제공", + "nominatim_2": "데이터는 ODbL 라이선스가 적용됩니다.", + "oss_attributions": "오픈 소스 속성", + "other_attributions": "추가 속성은 README 파일에서 찾을 수 있습니다.", + "source_code": "소스 코드" + }, + "adventures": { + "actions": "행동", + "activities": { + "activity": "활동 🏄", + "art_museums": "예술 & 박물관 🎨", + "attraction": "놀이동산 🎢", + "culture": "문화 🎭", + "dining": "식사 🍽️", + "event": "이벤트 🎉", + "festivals": "축제 🎪", + "fitness": "피트니스 🏋️", + "general": "일반 🌍", + "hiking": "하이킹 🥾", + "historical_sites": "사적지 🏛️", + "lodging": "숙박 🛌", + "music_concerts": "음악 🎶", + "nightlife": "야간문화 🌃", + "other": "기타", + "outdoor": "야외활동 🏞️", + "shopping": "쇼핑 🛍️", + "spiritual_journeys": "영적 여행 🧘‍♀️", + "transportation": "교통수단 🚗", + "volunteer_work": "자원 봉사 활동 🤝", + "water_sports": "수상 스포츠 🚤", + "wildlife": "야생 동물 🦒" + }, + "activity": "활동", + "activity_types": "활동 유형", + "add": "추가", + "add_a_tag": "태그를 추가하세요", + "add_an_activity": "활동을 추가하세요", + "add_new": "새로 추가...", + "add_notes": "메모 추가", + "add_to_collection": "컬렉션에 추가하세요", + "adventure": "모험", + "adventure_calendar": "모험 달력", + "adventure_create_error": "모험을 만들지 못했습니다", + "adventure_created": "모험 생성됨", + "adventure_delete_confirm": "이 모험을 삭제 하시겠습니까? 이 행동은 취소 할 수 없습니다.", + "adventure_delete_success": "모험이 성공적으로 삭제되었습니다!", + "adventure_details": "모험 정보", + "adventure_not_found": "표시할 모험이 없습니다. 오른쪽 하단의 플러스 버튼을 사용하여 추가하거나 필터를 변경하세요!", + "adventure_type": "모험 유형", + "adventure_update_error": "모험을 업데이트하지 못했습니다", + "adventure_updated": "모험 업데이트됨", + "all": "모두", + "archive": "보관", + "archived": "보관됨", + "archived_collection_message": "컬렉션이 성공적으로 보관되었습니다!", + "archived_collections": "보관된 컬렉션", + "ascending": "오름차순", + "attachment": "첨부 파일", + "attachment_delete_success": "첨부 파일이 성공적으로 삭제되었습니다!", + "attachment_name": "첨부 파일 이름", + "attachment_update_error": "첨부 파일 업데이트 실패", + "attachment_update_success": "첨부 파일이 성공적으로 업데이트되었습니다!", + "attachment_upload_error": "첨부 파일 업로드 실패", + "attachment_upload_success": "첨부 파일이 성공적으로 업로드되었습니다!", + "attachments": "첨부 파일", + "basic_information": "기본 정보", + "cancel": "취소", + "category": "카테고리", + "category_fetch_error": "카테고리 불러오기 실패", + "category_filter": "카테고리 필터", + "checklist": "체크리스트", + "checklist_delete_confirm": "이 체크리스트를 삭제 하시겠습니까? 이 행동은 취소할 수 없습니다.", + "clear_location": "장소 초기화", + "clear_map": "지도 초기화", + "close_filters": "필터 제거", + "collection": "컬렉션", + "collection_adventures": "컬렉션 모험을 추가하세요", + "collection_archived": "이 컬렉션은 보관되었습니다.", + "collection_completed": "이 컬렉션을 완성했습니다!", + "collection_link_error": "컬렉션에 모험 연결 중 오류", + "collection_link_success": "컬렉션에 모험이 성공적으로 연결되었습니다!", + "collection_remove_error": "컬렉션에서 모험을 제거 중 오류", + "collection_remove_success": "컬렉션에서 모험이 제거되었습니다!", + "collection_stats": "컬렉션 통계", + "copied_to_clipboard": "클립 보드에 복사됨!", + "copy_failed": "복사 실패", + "copy_link": "링크 복사", + "count_txt": "검색과 일치하는 결과", + "create_adventure": "모험 생성", + "create_new": "새로 만들기...", + "date": "일자", + "date_constrain": "컬렉션 일자로 제한", + "date_information": "일자 정보", + "dates": "일자", + "day": "일", + "days": "일", + "delete": "삭제", + "delete_adventure": "모험 삭제", + "delete_checklist": "체크리스트 삭제", + "delete_collection": "컬렉션 삭제", + "delete_collection_success": "컬렉션이 성공적으로 삭제되었습니다!", + "delete_collection_warning": "이 컬렉션을 삭제 하시겠습니까? 링크된 모든 모험을 삭제합니다. 이 행동은 취소할 수 없습니다.", + "delete_note": "노트 삭제", + "delete_transportation": "교통수단 삭제", + "descending": "내림차순", + "description": "설명", + "download_calendar": "캘린더 다운로드", + "duration": "기간", + "edit_adventure": "모험 편집", + "edit_collection": "컬렉션 편집", + "emoji_picker": "이모티콘 선택", + "end": "끝", + "end_date": "종료일", + "ending_airport": "도착 공항", + "error_updating_regions": "지역 업데이트 오류", + "fetch_image": "이미지 가져오기", + "filter": "필터", + "finding_recommendations": "다음 모험을 위해 숨겨진 보물을 찾아보세요", + "flight_information": "항공편 정보", + "from": "출발", + "generate_desc": "설명을 적으세요", + "gpx_tip": "GPX 파일을 첨부 파일에 업로드하면 지도에서 볼 수 있습니다!", + "hide": "숨기기", + "homepage": "홈페이지", + "image": "이미지", + "image_fetch_failed": "이미지를 가져오지 못했습니다", + "image_removed_error": "이미지 삭제 오류", + "image_removed_success": "이미지가 성공적으로 삭제되었습니다!", + "image_upload_error": "이미지 업로드 오류", + "image_upload_success": "이미지가 성공적으로 업로드되었습니다!", + "images": "이미지", + "itineary_by_date": "날짜 순 일정표", + "keep_exploring": "계속 탐험하세요!", + "latitude": "위도", + "link": "링크", + "link_new": "새로운 링크...", + "linked_adventures": "링크된 모험", + "links": "링크", + "location": "위치", + "location_information": "위치 정보", + "longitude": "경도", + "mark_region_as_visited": "{country} {Region} 지역을 방문함으로 표시할까요?", + "mark_visited": "방문함으로 표시", + "md_instructions": "여기에 마크다운으로 작성할 수 있습니다...", + "my_adventures": "내 모험", + "my_collections": "내 컬렉션", + "my_images": "내 이미지", + "my_visits": "내 방문", + "name": "이름", + "new_adventure": "새로운 모험", + "no_adventures_found": "모험이 없습니다", + "no_adventures_to_recommendations": "모험이 없습니다. 장소를 추천받으려면 최소 하나 이상의 모험을 등록해야 합니다.", + "no_collections_found": "이 모험을 추가할 수 있는 컬렉션이 없습니다.", + "no_description_found": "설명이 없습니다", + "no_end_date": "종료 날짜를 입력하세요", + "no_image_found": "이미지가 없습니다", + "no_image_url": "해당 URL에 이미지가 없습니다.", + "no_images": "이미지가 없습니다", + "no_linkable_adventures": "이 컬렉션에 연결할 수 있는 모험이 없습니다.", + "no_location": "위치를 입력하세요", + "no_location_found": "위치가 없습니다", + "no_results": "결과가 없습니다", + "no_start_date": "시작 날짜를 입력하십시오", + "not_found": "모험이 없습니다", + "not_found_desc": "당신이 찾고 있던 모험을 찾을 수 없었습니다. 다른 모험을 찾아보거나 나중에 다시 해 보세요.", + "not_visited": "방문하지 않음", + "note": "노트", + "note_delete_confirm": "이 노트를 삭제 하시겠습니까? 이 행동은 취소 할 수 없습니다.", + "notes": "노트", + "nothing_planned": "이 날에 계획된 것이 없습니다. 즐거운 여행 되세요!", + "open_details": "상세 내용 보기", + "open_filters": "필터 열기", + "order_by": "정렬 기준", + "order_direction": "정렬 순서", + "out_of_range": "여정 날짜 범위 내에 없습니다", + "planned": "계획", + "preview": "미리보기", + "primary": "기본", + "private": "비공개", + "public": "공개", + "public_adventure": "공개 모험", + "rating": "평가", + "regions_updated": "지역이 업데이트되었습니다", + "remove": "제거", + "remove_from_collection": "컬렉션에서 제거", + "save_next": "저장 & 다음", + "search_for_location": "위치 검색", + "search_results": "검색 결과", + "see_adventures": "모험 보기", + "select_adventure_category": "모험 카테고리 선택", + "set_to_pin": "고정하기", + "share": "공유", + "share_adventure": "이 모험을 공유하세요!", + "show": "보기", + "show_map": "지도 보기", + "show_region_labels": "지역 레이블 표시", + "sort": "정렬", + "sources": "출처", + "start": "시작", + "start_before_end_error": "시작일은 종료일 이전이어야 합니다", + "start_date": "시작일", + "starting_airport": "출발 공항", + "tags": "태그", + "to": "도착", + "transportation": "교통수단", + "transportation_delete_confirm": "이 교통수단을 삭제 하시겠습니까? 이 행동은 취소 할 수 없습니다.", + "transportations": "교통수단", + "unarchive": "보관 취소", + "unarchived_collection_message": "컬렉션이 성공적으로 보관 취소되었습니다!", + "update_visited_regions": "방문 지역 업데이트", + "update_visited_regions_disclaimer": "방문한 모험의 수에 따라 시간이 걸릴 수 있습니다.", + "updated": "업데이트됨", + "upload": "업로드", + "upload_image": "이미지 업로드", + "upload_images_here": "여기에 이미지를 업로드하세요", + "url": "URL", + "view_attachment": "첨부 파일 보기", + "visit": "방문", + "visit_link": "링크 방문", + "visited": "방문함", + "visited_region_check": "방문 지역 확인", + "visited_region_check_desc": "이것을 선택하면 서버는 방문한 모든 모험을 확인하고 그 모험의 지역을 표시하여 세계 여행에서 방문 여부를 표시합니다.", + "visits": "방문", + "warning": "경고", + "wiki_desc": "모험의 이름과 일치하는 글을 위키백과에서 가져옵니다.", + "wiki_image_error": "위키백과 이미지 가져오기 오류", + "wikipedia": "위키백과", + "will_be_marked": "모험이 저장되면 방문했다고 표시합니다.", + "checklists": "체크리스트", + "cities_updated": "도시 업데이트됨", + "clear": "초기화" + }, + "auth": { + "both_passwords_required": "두 암호 모두 필요합니다", + "confirm_password": "비밀번호 확인", + "email": "이메일", + "email_required": "이메일이 필요합니다", + "first_name": "이름", + "forgot_password": "비밀번호를 잊으셨나요?", + "last_name": "성", + "login": "로그인", + "login_error": "제공한 자격 증명으로 로그인 할 수 없습니다.", + "new_password": "새 비밀번호 (6자 이상)", + "or_3rd_party": "또는 서드 파티 서비스로 로그인하세요", + "password": "비밀번호", + "profile_picture": "프로필 사진", + "public_profile": "공개 프로필", + "public_tooltip": "공개 프로필을 사용하면 당신에게 다른 사용자가 컬렉션을 공유할 수 있으며, 사용자 페이지에서 프로필이 노출됩니다.", + "registration_disabled": "현재 등록할 수 없습니다.", + "reset_failed": "비밀번호 재설정 실패", + "signup": "가입", + "username": "사용자 이름" + }, + "categories": { + "category_name": "카테고리 이름", + "edit_category": "카테고리 편집", + "icon": "아이콘", + "manage_categories": "카테고리 관리", + "no_categories_found": "카테고리가 없습니다.", + "select_category": "카테고리 선택", + "update_after_refresh": "페이지를 새로고침해야 모험 카드가 업데이트됩니다." + }, + "checklist": { + "add_item": "항목 추가", + "checklist_delete_error": "체크리스트 삭제 오류", + "checklist_deleted": "체크리스트가 성공적으로 삭제되었습니다!", + "checklist_editor": "체크리스트 편집기", + "checklist_public": "이 체크리스트는 공개 컬렉션에 있기 때문에 공개되었습니다.", + "checklist_viewer": "체크리스트 뷰어", + "editing_checklist": "체크리스트 편집", + "failed_to_save": "체크리스트 저장 실패", + "item": "항목", + "item_already_exists": "항목이 이미 존재합니다", + "item_cannot_be_empty": "항목은 비어있을 수 없습니다", + "items": "항목", + "new_checklist": "새 체크리스트", + "new_item": "새 항목", + "save": "저장" + }, + "collection": { + "collection_created": "컬렉션이 성공적으로 생성되었습니다!", + "collection_edit_success": "컬렉션이 성공적으로 편집되었습니다!", + "create": "생성", + "edit_collection": "컬렉션 편집", + "error_creating_collection": "컬렉션 생성 오류", + "error_editing_collection": "컬렉션 편집 오류", + "new_collection": "새로운 컬렉션", + "public_collection": "공개 컬렉션" + }, + "dashboard": { + "add_some": "다음 모험을 계획해 보는게 어떨까요? 아래 버튼을 클릭하여 새로운 모험을 추가할 수 있습니다.", + "countries_visited": "방문한 국가", + "no_recent_adventures": "최근 모험이 없나요?", + "recent_adventures": "최근 모험", + "total_adventures": "모든 모험", + "total_visited_cities": "방문한 모든 도시", + "total_visited_regions": "방문한 모든 지역", + "welcome_back": "다시 오신 것을 환영합니다" + }, + "home": { + "desc_1": "쉽고 편리하게 발견하고, 계획하고, 탐험하세요", + "desc_2": "AdventureLog는 여러분의 여정을 더 편리하게 만들어 드립니다. 추억에 남을 다음 모험을 계획하고, 준비하고, 안내하는 데 필요한 모든 도구와 리소스를 제공할 수 있도록 설계되었습니다.", + "feature_1": "여행 로그", + "feature_1_desc": "나만의 여행 기록을 만들어 기록하고 친구나 가족들에게 경험을 공유하세요.", + "feature_2": "일정 계획", + "feature_2_desc": "손쉽게 맞춤형 일정을 만들고 하루 단위 일정표를 받아 보세요.", + "feature_3": "여행 지도", + "feature_3_desc": "세계 각지의 방문지를 인터랙티브 지도로 확인하고 새로운 여행지를 찾아 보세요.", + "go_to": "Adventurelog로 이동", + "hero_1": "세상에서 가장 짜릿한 모험을 발견하세요", + "hero_2": "Adventurelog로 다음 모험을 발견하고 계획해 보세요. 환상적인 여행지를 탐색하고, 나만의 일정을 만드세요. 어디서든 접속할 수 있습니다.", + "key_features": "주요 기능" + }, + "immich": { + "api_key": "Immich API 키", + "api_note": "참고 : 이것은 Immich API 서버의 URL이어야 합니다. 사용자 정의 구성을 하지 않았다면 끝이 /api 입니다.", + "disable": "사용 불가", + "documentation": "Immich 통합 문서", + "enable_immich": "Immich 활성화", + "imageid_required": "이미지 ID가 필요합니다", + "immich": "Immich", + "immich_desc": "Immich 계정을 Adventurelog와 통합하면 사진 라이브러리를 검색하고 모험 사진을 가져올 수 있습니다.", + "immich_disabled": "Immich 통합이 성공적으로 비활성화되었습니다!", + "immich_enabled": "Immich 통합이 성공적으로 활성화되었습니다!", + "immich_error": "Immich 통합 업데이트 오류", + "immich_integration": "Immich 통합", + "immich_updated": "Immich 설정이 성공적으로 업데이트되었습니다!", + "integration_enabled": "통합 활성화", + "integration_fetch_error": "Immich 통합에서 데이터 가져오기 오류", + "integration_missing": "백엔드에서 Immich 통합을 찾을 수 없습니다", + "load_more": "더 가져오기", + "localhost_note": "참고 : docker 네트워크를 적절하게 설정하지 않으면 localhost는 올바르게 작동하지 않을 수 있습니다. IP 주소나 서버의 도메인 주소를 사용하는 것이 좋습니다.", + "no_items_found": "항목 없음", + "query_required": "쿼리가 필요합니다", + "server_down": "현재 Immich 서버가 다운되었거나 도달할 수 없습니다", + "server_url": "Immich 서버 URL", + "update_integration": "통합 업데이트" + }, + "map": { + "add_adventure": "새로운 모험 추가", + "add_adventure_at_marker": "마커에 새로운 모험 추가", + "adventure_map": "모험 지도", + "clear_marker": "마커 초기화", + "map_options": "지도 옵션", + "show_visited_regions": "방문한 지역 보기", + "view_details": "상세 보기" + }, + "navbar": { + "about": "Adventurelog 소개", + "adventures": "모험", + "calendar": "달력", + "collections": "컬렉션", + "discord": "디스코드", + "documentation": "문서", + "greeting": "안녕하세요", + "language_selection": "언어", + "logout": "로그아웃", + "map": "지도", + "my_adventures": "내 모험", + "my_tags": "내 태그", + "profile": "프로필", + "search": "검색", + "settings": "설정", + "shared_with_me": "나와 공유함", + "support": "지원", + "tag": "태그", + "theme_selection": "테마 선택", + "themes": { + "aestheticDark": "Aesthetic Dark", + "aestheticLight": "Aesthetic Light", + "aqua": "Aqua", + "dark": "Dark", + "forest": "Forest", + "light": "Light", + "night": "Night", + "northernLights": "Northern Lights" + }, + "users": "사용자", + "worldtravel": "세계 여행" + }, + "notes": { + "add_a_link": "링크 추가", + "content": "콘텐츠", + "editing_note": "노트 편집", + "failed_to_save": "메모 저장 실패", + "invalid_url": "잘못된 URL", + "note_delete_error": "노트 삭제 오류", + "note_deleted": "노트가 성공적으로 삭제되었습니다!", + "note_editor": "노트 편집기", + "note_public": "이 노트는 공개 컬렉션에 있기 때문에 공개되었습니다.", + "note_viewer": "노트 뷰어", + "open": "열기", + "save": "저장" + }, + "profile": { + "member_since": "가입 시점", + "user_stats": "사용자 통계", + "visited_cities": "방문한 도시", + "visited_countries": "방문한 국가", + "visited_regions": "방문한 지역" + }, + "recomendations": { + "address": "주소", + "contact": "연락처", + "phone": "핸드폰", + "recommendation": "추천", + "website": "웹사이트" + }, + "search": { + "adventurelog_results": "Adventurelog 결과", + "online_results": "온라인 결과", + "public_adventures": "공개 모험" + }, + "settings": { + "about_this_background": "이 배경에 대해", + "account_settings": "사용자 계정 설정", + "add_email": "이메일 추가", + "add_email_blocked": "2단계 인증으로 보호된 계정에 이메일 주소를 추가할 수 없습니다.", + "administration_settings": "관리자 설정", + "authenticator_code": "인증 코드", + "change_password": "비밀번호 변경", + "change_password_error": "비밀번호를 변경할 수 없습니다. 현재 비밀번호 또는 새 비밀번호가 유효하지 않습니다.", + "confirm_new_password": "새 비밀번호 확인", + "copy": "복사", + "csrf_failed": "CSRF 토큰 가져오기 실패", + "current_email": "현재 이메일", + "current_password": "현재 비밀번호", + "disable_mfa": "MFA 비활성화", + "duplicate_email": "이 이메일 주소는 이미 사용 중입니다.", + "email_added": "이메일이 성공적으로 추가되었습니다!", + "email_added_error": "이메일 추가 오류", + "email_change": "이메일 변경", + "email_removed": "이메일이 성공적으로 제거되었습니다!", + "email_removed_error": "이메일 제거 오류", + "email_verified": "이메일을 성공적으로 인증했습니다!", + "email_verified_erorr_desc": "이메일이 인증되지 않았습니다. 다시 시도하세요.", + "email_verified_error": "이메일 인증 오류", + "email_verified_success": "이메일이 인증되었습니다. 이제 로그인 할 수 있습니다.", + "enable_mfa": "MFA 활성화", + "error_change_password": "비밀번호 변경 오류. 현재 비밀번호를 확인하고 다시 시도하세요.", + "generic_error": "요청 처리 중 오류가 발생했습니다.", + "invalid_code": "유효하지 않은 MFA 코드", + "invalid_credentials": "유효하지 않은 사용자 이름 또는 비밀번호", + "invalid_token": "유효하지 않거나 만료된 토큰입니다.", + "join_discord": "디스코드 참여", + "join_discord_desc": "#travel-share 채널에 자신의 사진을 공유하세요.", + "launch_account_connections": "계정 연결 시작", + "launch_administration_panel": "관리자 패널 열기", + "login_redir": "로그인 페이지로 리디렉션됩니다.", + "make_primary": "기본 이메일로 설정", + "mfa_disabled": "다중 인증이 성공적으로 비활성화되었습니다!", + "mfa_enabled": "다중 인증이 성공적으로 활성화되었습니다!", + "mfa_not_enabled": "MFA가 활성화되지 않았습니다", + "mfa_page_title": "다중 인증", + "mfa_required": "다중 인증이 필요합니다", + "missing_email": "이메일 주소를 입력하세요", + "new_email": "새 이메일", + "new_password": "새 비밀번호", + "no_emai_set": "이메일 세트가 없습니다", + "no_email_set": "이메일 세트가 없습니다", + "no_verified_email_warning": "2단계 인증을 활성화하려면 인증된 이메일 주소가 필요합니다.", + "not_verified": "인증되지 않음", + "password_change": "비밀번호 변경", + "password_change_lopout_warning": "비밀번호를 변경한 후 로그아웃됩니다.", + "password_does_not_match": "암호가 일치하지 않습니다", + "password_is_required": "비밀번호가 필요합니다", + "password_too_short": "비밀번호는 6 자 이상이어야 합니다", + "photo_by": "사진 제공", + "possible_reset": "입력한 이메일 주소가 계정과 일치하면, 비밀번호를 재설정하기 위한 이메일을 받게 됩니다!", + "primary": "기본", + "recovery_codes": "복구 코드", + "recovery_codes_desc": "이것은 복구 코드입니다. 안전하게 보관하세요. 재확인이 불가능합니다.", + "required": "필수 필드입니다", + "reset_password": "비밀번호 재설정", + "reset_session_error": "로그아웃 후 재접속하여 세션을 초기화하고 다시 시도하세요.", + "settings_page": "설정 페이지", + "social_auth_desc": "소셜 및 OIDC 인증 제공자를 활성화 또는 비활성화합니다. 활성화하면 Authentik 같은 자체 호스팅 인증 제공자나 Github 같은 서드 파티 인증 제공자로 로그인할 수 있습니다.", + "social_auth_desc_2": "관련 설정은 Adventurelog 서버에서 관리되며 관리자가 직접 활성화해야 합니다.", + "social_oidc_auth": "소셜 및 OIDC 인증", + "submit": "제출", + "token_required": "비밀번호를 재설정하려면 토큰 및 UID가 필요합니다.", + "update": "업데이트", + "update_error": "설정 업데이트 오류", + "update_success": "설정이 성공적으로 업데이트되었습니다!", + "username_taken": "이 사용자 이름은 이미 사용 중입니다.", + "verified": "인증됨", + "verify": "인증", + "verify_email_error": "이메일 인증 오류. 몇 분 후 다시 시도하세요.", + "verify_email_success": "인증 이메일이 성공적으로 발송되었습니다!", + "documentation_link": "문서화 링크", + "email_set_primary": "기본 이메일 세트로 설정했습니다!", + "email_set_primary_error": "기본 이메일 설정 오류", + "email_taken": "이 이메일 주소는 이미 사용 중입니다." + }, + "share": { + "go_to_settings": "설정으로 이동", + "no_shared_found": "공유받은 컬렉션이 없습니다.", + "no_users_shared": "공유한 사용자가 없습니다", + "not_shared_with": "공유하지 않음", + "set_public": "다른 사람에게 공유하려면, 프로필을 공개해야 합니다.", + "share_desc": "이 컬렉션을 다른 사용자와 공유하세요.", + "shared": "공유됨", + "shared_with": "공유한 사용자", + "unshared": "공유되지 않음", + "with": "함께 하는 사용자" + }, + "transportation": { + "date_and_time": "일시", + "date_time": "시작 일시", + "edit": "편집", + "edit_transportation": "교통수단 편집", + "end_date_time": "종료 일시", + "error_editing_transportation": "교통수단 편집 오류", + "flight_number": "항공편 번호", + "from_location": "출발지", + "modes": { + "bike": "자전거", + "boat": "보트", + "bus": "버스", + "car": "자동차", + "other": "기타", + "plane": "비행기", + "train": "기차", + "walking": "도보" + }, + "new_transportation": "새 교통수단", + "provide_start_date": "출발 일자를 입력하세요", + "start": "시작", + "to_location": "도착지", + "transport_type": "교통수단 유형", + "transportation_added": "교통수단이 성공적으로 추가되었습니다!", + "transportation_delete_error": "교통수단 삭제 오류", + "transportation_deleted": "교통수단이 성공적으로 삭제되었습니다!", + "transportation_edit_success": "교통수단이 성공적으로 편집되었습니다!", + "type": "유형" + }, + "users": { + "no_users_found": "공개 프로필인 사용자가 없습니다." + }, + "worldtravel": { + "all": "모두", + "all_subregions": "모든 하위 지역", + "all_visited": "당신은 모든 지역을 방문했습니다", + "cities": "도시", + "clear_search": "검색 초기화", + "completely_visited": "모두 방문함", + "country_list": "국가 목록", + "failed_to_mark_visit": "방문함으로 표시 중 오류", + "failed_to_remove_visit": "방문함으로 표시 제거 중 오류", + "marked_visited": "방문으로 표시", + "no_cities_found": "도시가 없습니다", + "no_countries_found": "국가가 없습니다", + "not_visited": "방문하지 않음", + "num_countries": "개 국가 검색", + "partially_visited": "일부 방문함", + "region_failed_visited": "지역을 방문함으로 표시 중 실패", + "region_stats": "지역 통계", + "regions_in": "소속 지역", + "removed": "제거됨", + "view_cities": "도시 보기", + "visit_remove_failed": "방문 표시 제거 실패", + "visit_to": "방문함" + } +} diff --git a/frontend/src/routes/+layout.svelte b/frontend/src/routes/+layout.svelte index 3010bca..dc904ea 100644 --- a/frontend/src/routes/+layout.svelte +++ b/frontend/src/routes/+layout.svelte @@ -14,8 +14,9 @@ register('nl', () => import('../locales/nl.json')); register('sv', () => import('../locales/sv.json')); register('pl', () => import('../locales/pl.json')); + register('ko', () => import('../locales/ko.json')); - let locales = ['en', 'es', 'fr', 'de', 'it', 'zh', 'nl', 'sv', 'pl']; + let locales = ['en', 'es', 'fr', 'de', 'it', 'zh', 'nl', 'sv', 'pl', 'ko']; if (browser) { init({