mirror of
https://github.com/photoprism/photoprism.git
synced 2026-07-17 16:49:04 +00:00
* Frontend: Add settings for albums, favorites, folders, and media features * Frontend: Enhance download settings for files and albums #848 * Frontend: Enhance download settings for files and albums #848 * Frontend: Update album download settings to restrict access to super admins * Frontend: Add album sorting options to settings for super admins * Frontend: Update download settings visibility * Frontend: Refine download settings access control for user roles * Tests: Add album, folder, moment, state, and month order selection options to page-model * Frontend: Update access control for super admins in settings to include scope check * Tests: Add new tests for download name and album order settings persistence * Tests: Implement new tests for default album sort order persistence in settings * Frontend: Move default album order settings * Frontend: Add zoom accessibility option in settings #799 * Frontend: Update download name from "Share Identifier" to "Share Friendly" and refine hints for download options in settings * Tests: Add new acceptance test for disabling album downloads while allowing file downloads in settings * Frontend: Improve download options layout and hints * Frontend: Refactor download options condition in settings page * Frontend: Implement native zoom control in lightbox component * Settings: Add Collections tab and move Services to its own page #848 #5429 - Add a super-admin Collections tab after Content holding the album Download and Sort Order settings; remove those cards from Content. - Move Services from a settings tab to a dedicated page (page/services.vue) with a search toolbar and a Reload / Learn More action menu; link it from the navigation settings menu. - Implement server-side services search (acc_name filter) with tests. - De-duplicate the picture sort-order options into a shared SortOrderOptions builder in options.js. - Update acceptance/unit tests and page models to match. * Frontend: Regenerate translation catalogs #848 #5429 Ran `make gettext-extract` to pick up the new settings strings (Collections, Features, Disable Downloads, and related messages) so Weblate can translate them. Existing translations are preserved. * Frontend: Move lightbox viewport-zoom handling into the view helper - Move the viewport pinch-zoom lock/restore (disableNativeZoom / restoreNativeZoom + savedViewportContent) from lightbox.vue onto the View singleton in common/view.js. - Drive it passively from View.apply() via a disableViewportZoom flag in the PLightbox case, alongside hideScrollbar / disableScrolling / disableNavigationGestures; lightbox.vue no longer references zoom. - Make save/restore idempotent and extract the viewport constants. - Cover the helpers and the apply() wiring in view.test.js. * Settings: Add Accessibility section to General with Reduce Motion #848 #5429 - Move the page-zoom checkbox out of the feature-flags grid into a dedicated Accessibility card (super-admin only) with four toggles: Open on Hover, Reduce Motion, Hide Scrollbar, and Allow Page Zoom. - Add a UI.ReduceMotion flag (defaults false) that toggles an html.reduce-motion class via config.setReduceMotion and suppresses map fly-to animations non-destructively (util.mapAnimateDuration). - Make Open on Hover apply live by reading shouldOpenOnHover() through a reactive computed in the action/auth/lightbox menus; Zoom and Hide Scrollbar reload since they are baked into the server-rendered HTML. - Reword two feature-grid hints to the "pictures" convention and cover the new helpers with Go and Vitest tests. * Frontend: Regenerate translation catalogs #848 #5429 Ran `make gettext-extract` to pick up the new Accessibility settings strings (Accessibility, Allow Page Zoom, Open on Hover, Hide Scrollbar, Reduce Motion, and their hints) and the reworded feature-grid hints. Existing translations are preserved. --------- Co-authored-by: Michael Mayer <michael@photoprism.app>
437 lines
9.6 KiB
Text
437 lines
9.6 KiB
Text
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: \n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2026-06-27 09:13+0000\n"
|
|
"PO-Revision-Date: 2026-06-27 10:28+0000\n"
|
|
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
|
"Language-Team: Korean <https://translate.photoprism.app/projects/photoprism/"
|
|
"backend/ko/>\n"
|
|
"Language: ko\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
"X-Generator: Weblate 2026.5\n"
|
|
|
|
#: messages.go:112
|
|
msgid "Something went wrong, try again"
|
|
msgstr "문제가 발생했습니다. 다시 시도하세요."
|
|
|
|
#: messages.go:113
|
|
msgid "Unable to do that"
|
|
msgstr "그렇게 할 수 없습니다."
|
|
|
|
#: messages.go:114
|
|
msgid "Changes could not be saved"
|
|
msgstr "변경 사항을 저장할 수 없음"
|
|
|
|
#: messages.go:115
|
|
msgid "Could not be deleted"
|
|
msgstr "삭제할 수 없음"
|
|
|
|
#: messages.go:116
|
|
#, c-format
|
|
msgid "%s already exists"
|
|
msgstr "%s가 이미 존재함"
|
|
|
|
#: messages.go:117
|
|
msgid "Not found"
|
|
msgstr "찾을 수 없음"
|
|
|
|
#: messages.go:118
|
|
msgid "File not found"
|
|
msgstr "파일을 찾을 수 없음"
|
|
|
|
#: messages.go:119
|
|
msgid "File too large"
|
|
msgstr "파일이 너무 큽니다"
|
|
|
|
#: messages.go:120
|
|
msgid "Unsupported"
|
|
msgstr "지원되지 않음"
|
|
|
|
#: messages.go:121
|
|
msgid "Unsupported type"
|
|
msgstr "지원되지 않는 유형"
|
|
|
|
#: messages.go:122
|
|
msgid "Unsupported format"
|
|
msgstr "지원되지 않는 형식"
|
|
|
|
#: messages.go:123
|
|
msgid "Originals folder is empty"
|
|
msgstr "원본 폴더가 비어 있습니다"
|
|
|
|
#: messages.go:124
|
|
msgid "Selection not found"
|
|
msgstr "선택 항목을 찾을 수 없음"
|
|
|
|
#: messages.go:125
|
|
msgid "Entity not found"
|
|
msgstr "항목을 찾을 수 없음"
|
|
|
|
#: messages.go:126
|
|
msgid "Account not found"
|
|
msgstr "계정을 찾을 수 없음"
|
|
|
|
#: messages.go:127
|
|
msgid "User not found"
|
|
msgstr "사용자를 찾을 수 없음"
|
|
|
|
#: messages.go:128
|
|
msgid "Label not found"
|
|
msgstr "라벨을 찾을 수 없음"
|
|
|
|
#: messages.go:129
|
|
msgid "Camera not found"
|
|
msgstr "카메라를 찾을 수 없습니다"
|
|
|
|
#: messages.go:130
|
|
msgid "Lens not found"
|
|
msgstr "렌즈를 찾을 수 없습니다"
|
|
|
|
#: messages.go:131
|
|
msgid "Album not found"
|
|
msgstr "앨범을 찾을 수 없음"
|
|
|
|
#: messages.go:132
|
|
msgid "Subject not found"
|
|
msgstr "제목을 찾을 수 없음"
|
|
|
|
#: messages.go:133
|
|
msgid "Person not found"
|
|
msgstr "사람을 찾을 수 없음"
|
|
|
|
#: messages.go:134
|
|
msgid "Face not found"
|
|
msgstr "얼굴을 찾을 수 없음"
|
|
|
|
#: messages.go:135
|
|
msgid "Not available in public mode"
|
|
msgstr "공개 모드에서는 사용할 수 없음"
|
|
|
|
#: messages.go:136
|
|
msgid "Not available in read-only mode"
|
|
msgstr "읽기 전용 모드에서는 사용할 수 없음"
|
|
|
|
#: messages.go:137
|
|
msgid "Please log in to your account"
|
|
msgstr "귀하의 계정에 로그인하십시오"
|
|
|
|
#: messages.go:138
|
|
msgid "Permission denied"
|
|
msgstr "권한이 없음"
|
|
|
|
#: messages.go:139
|
|
msgid "Payment required"
|
|
msgstr "결제 필요"
|
|
|
|
#: messages.go:140
|
|
msgid "Upload might be offensive"
|
|
msgstr "업로드가 불쾌할 수 있습니다"
|
|
|
|
#: messages.go:141
|
|
msgid "Upload failed"
|
|
msgstr "업로드 실패"
|
|
|
|
#: messages.go:142
|
|
msgid "No items selected"
|
|
msgstr "선택된 항목이 없습니다"
|
|
|
|
#: messages.go:143
|
|
msgid "Failed creating file, please check permissions"
|
|
msgstr "파일 생성에 실패했습니다. 권한을 확인하세요"
|
|
|
|
#: messages.go:144
|
|
msgid "Failed creating folder, please check permissions"
|
|
msgstr "폴더를 만들지 못했습니다. 권한을 확인하세요"
|
|
|
|
#: messages.go:145
|
|
msgid "Could not connect, please try again"
|
|
msgstr "연결할 수 없습니다. 다시 시도해 주세요"
|
|
|
|
#: messages.go:146
|
|
msgid "Enter verification code"
|
|
msgstr "인증코드를 입력하세요"
|
|
|
|
#: messages.go:147
|
|
msgid "Invalid verification code, please try again"
|
|
msgstr "잘못된 인증 코드입니다. 다시 시도해 주세요."
|
|
|
|
#: messages.go:148
|
|
msgid "Invalid password, please try again"
|
|
msgstr "비밀번호가 잘못되었습니다. 다시 시도해 주세요"
|
|
|
|
#: messages.go:149
|
|
msgid "Feature disabled"
|
|
msgstr "기능 비활성화됨"
|
|
|
|
#: messages.go:150
|
|
msgid "No labels selected"
|
|
msgstr "선택한 라벨이 없습니다"
|
|
|
|
#: messages.go:151
|
|
msgid "No albums selected"
|
|
msgstr "앨범이 선택되지 않았습니다"
|
|
|
|
#: messages.go:152
|
|
msgid "No files available for download"
|
|
msgstr "다운로드할 수 있는 파일이 없습니다"
|
|
|
|
#: messages.go:153
|
|
msgid "Failed to create zip file"
|
|
msgstr "zip 파일 생성 실패"
|
|
|
|
#: messages.go:154
|
|
msgid "Invalid credentials"
|
|
msgstr "잘못된 자격 증명"
|
|
|
|
#: messages.go:155
|
|
msgid "Invalid link"
|
|
msgstr "유효하지 않은 링크입니다"
|
|
|
|
#: messages.go:156
|
|
msgid "Invalid name"
|
|
msgstr "잘못된 이름"
|
|
|
|
#: messages.go:157
|
|
msgid "Busy, please try again later"
|
|
msgstr "바쁘니 나중에 다시 시도해 주세요"
|
|
|
|
#: messages.go:158
|
|
#, c-format
|
|
msgid "The wakeup interval is %s, but must be 1h or less"
|
|
msgstr "깨우기 간격은 %s이지만 1시간 이하여야 합니다"
|
|
|
|
#: messages.go:159
|
|
msgid "Your account could not be connected"
|
|
msgstr "계정을 연결할 수 없습니다"
|
|
|
|
#: messages.go:160
|
|
msgid "Too many requests"
|
|
msgstr "너무 많은 요청"
|
|
|
|
#: messages.go:161
|
|
msgid "Insufficient storage"
|
|
msgstr "저장 공간 부족"
|
|
|
|
#: messages.go:162
|
|
msgid "Quota exceeded"
|
|
msgstr "할당량 초과"
|
|
|
|
#: messages.go:163
|
|
msgid "Registration disabled"
|
|
msgstr "등록이 비활성화되었습니다."
|
|
|
|
#: messages.go:164
|
|
msgid "Verified email required"
|
|
msgstr "인증된 이메일 주소가 필요합니다"
|
|
|
|
#: messages.go:167
|
|
msgid "Changes successfully saved"
|
|
msgstr "변경사항이 성공적으로 저장되었습니다"
|
|
|
|
#: messages.go:168
|
|
msgid "Album created"
|
|
msgstr "앨범 생성됨"
|
|
|
|
#: messages.go:169
|
|
msgid "Album saved"
|
|
msgstr "앨범 저장됨"
|
|
|
|
#: messages.go:170
|
|
#, c-format
|
|
msgid "Album %s deleted"
|
|
msgstr "앨범 %s이(가) 삭제됨"
|
|
|
|
#: messages.go:171
|
|
msgid "Album contents cloned"
|
|
msgstr "복제된 앨범 콘텐츠"
|
|
|
|
#: messages.go:172
|
|
msgid "File removed from stack"
|
|
msgstr "스택에서 제거된 파일"
|
|
|
|
#: messages.go:173
|
|
msgid "File deleted"
|
|
msgstr "파일이 삭제됨"
|
|
|
|
#: messages.go:174
|
|
#, c-format
|
|
msgid "Selection added to %s"
|
|
msgstr "선택 항목이 %s에 추가됨"
|
|
|
|
#: messages.go:175
|
|
#, c-format
|
|
msgid "One entry added to %s"
|
|
msgstr "%s에 항목 1개 추가됨"
|
|
|
|
#: messages.go:176
|
|
#, c-format
|
|
msgid "%d entries added to %s"
|
|
msgstr "%d 항목이 %s에 추가됨"
|
|
|
|
#: messages.go:177
|
|
#, c-format
|
|
msgid "One entry removed from %s"
|
|
msgstr "%s에서 항목 1개 삭제됨"
|
|
|
|
#: messages.go:178
|
|
#, c-format
|
|
msgid "%d entries removed from %s"
|
|
msgstr "%d 항목이 %s에서 제거됨"
|
|
|
|
#: messages.go:179
|
|
msgid "Account created"
|
|
msgstr "계정 생성됨"
|
|
|
|
#: messages.go:180
|
|
msgid "Account saved"
|
|
msgstr "계정이 저장됨"
|
|
|
|
#: messages.go:181
|
|
msgid "Account deleted"
|
|
msgstr "계정 삭제됨"
|
|
|
|
#: messages.go:182
|
|
msgid "Settings saved"
|
|
msgstr "설정 저장됨"
|
|
|
|
#: messages.go:183
|
|
msgid "Password changed"
|
|
msgstr "비밀번호 변경됨"
|
|
|
|
#: messages.go:184
|
|
#, c-format
|
|
msgid "Import completed in %d s"
|
|
msgstr "%d초 후에 가져오기 완료"
|
|
|
|
#: messages.go:185
|
|
msgid "Import canceled"
|
|
msgstr "가져오기 취소됨"
|
|
|
|
#: messages.go:186
|
|
#, c-format
|
|
msgid "Indexing completed in %d s"
|
|
msgstr "%d초 후에 인덱싱 완료"
|
|
|
|
#: messages.go:187
|
|
msgid "Indexing originals..."
|
|
msgstr "원본 색인 생성 중..."
|
|
|
|
#: messages.go:188
|
|
#, c-format
|
|
msgid "Indexing files in %s"
|
|
msgstr "%s에서 파일 색인 생성"
|
|
|
|
#: messages.go:189
|
|
msgid "Indexing canceled"
|
|
msgstr "인덱싱 취소됨"
|
|
|
|
#: messages.go:190
|
|
#, c-format
|
|
msgid "Removed %d files and %d photos"
|
|
msgstr "파일 %d개와 사진 %d개를 삭제했습니다"
|
|
|
|
#: messages.go:191
|
|
#, c-format
|
|
msgid "Moving files from %s"
|
|
msgstr "%s에서 파일 이동"
|
|
|
|
#: messages.go:192
|
|
#, c-format
|
|
msgid "Copying files from %s"
|
|
msgstr "%s에서 파일 복사"
|
|
|
|
#: messages.go:193
|
|
msgid "Labels deleted"
|
|
msgstr "라벨 삭제됨"
|
|
|
|
#: messages.go:194
|
|
msgid "Label saved"
|
|
msgstr "라벨이 저장되었습니다"
|
|
|
|
#: messages.go:195
|
|
msgid "Subject saved"
|
|
msgstr "주제가 저장됨"
|
|
|
|
#: messages.go:196
|
|
msgid "Subject deleted"
|
|
msgstr "제목 삭제됨"
|
|
|
|
#: messages.go:197
|
|
msgid "Person saved"
|
|
msgstr "사람이 저장됨"
|
|
|
|
#: messages.go:198
|
|
msgid "Person deleted"
|
|
msgstr "삭제된 사람"
|
|
|
|
#: messages.go:199
|
|
msgid "File uploaded"
|
|
msgstr "업로드된 파일 1개"
|
|
|
|
#: messages.go:200
|
|
#, c-format
|
|
msgid "%d files uploaded in %d s"
|
|
msgstr "%d개의 파일이 %d초에 업로드됨"
|
|
|
|
#: messages.go:201
|
|
msgid "Processing upload..."
|
|
msgstr "업로드 처리 중..."
|
|
|
|
#: messages.go:202
|
|
msgid "Upload has been processed"
|
|
msgstr "업로드가 처리되었습니다"
|
|
|
|
#: messages.go:203
|
|
msgid "Selection approved"
|
|
msgstr "선택 항목 승인됨"
|
|
|
|
#: messages.go:204
|
|
msgid "Selection archived"
|
|
msgstr "선택 항목 보관됨"
|
|
|
|
#: messages.go:205
|
|
msgid "Selection restored"
|
|
msgstr "선택 항목 복원됨"
|
|
|
|
#: messages.go:206
|
|
msgid "Selection marked as private"
|
|
msgstr "비공개로 표시된 선택"
|
|
|
|
#: messages.go:207
|
|
msgid "Albums deleted"
|
|
msgstr "앨범 삭제됨"
|
|
|
|
#: messages.go:208
|
|
#, c-format
|
|
msgid "Zip created in %d s"
|
|
msgstr "%d초에 생성된 우편번호"
|
|
|
|
#: messages.go:209
|
|
msgid "Permanently deleted"
|
|
msgstr "영구 삭제됨"
|
|
|
|
#: messages.go:210
|
|
#, c-format
|
|
msgid "%s has been restored"
|
|
msgstr "%s이(가) 복원되었습니다"
|
|
|
|
#: messages.go:211
|
|
msgid "Successfully verified"
|
|
msgstr "성공적으로 확인되었습니다"
|
|
|
|
#: messages.go:212
|
|
msgid "Successfully activated"
|
|
msgstr "성공적으로 활성화되었습니다"
|
|
|
|
#~ msgid "Storage is full"
|
|
#~ msgstr "저장 공간이 가득 찼습니다."
|
|
|
|
#~ msgid "Invalid request"
|
|
#~ msgstr "잘못된 요청"
|
|
|
|
#~ msgid "Unexpected error, please try again"
|
|
#~ msgstr "예기치 않은 오류가 발생했습니다. 다시 시도해 주세요"
|